commit | bdefaa3c95d0a93928f8ebda1ce158172d3a4bcf | [log] [tgz] |
---|---|---|
author | Jason M. Bills <jason.m.bills@linux.intel.com> | Fri Nov 12 14:09:20 2021 -0800 |
committer | Jason M. Bills <jason.m.bills@intel.com> | Wed Jan 12 13:30:37 2022 -0800 |
tree | d78332009020246032635033904c3dac0de0a6fd | |
parent | 6a00e9aa72f75d66eb8b9572c7fd3894f91c6bba [diff] |
Add D-Bus Raw PECI Daemon This adds a new D-Bus daemon to handle raw PECI requests over D-Bus. The D-Bus interface provides a Send method that takes a vector of byte vectors where each byte vector contains the raw data for a single PECI command. This allows sending an array of raw PECI commands to execute in bulk to avoid issues with network latency when sending multiple commands. The method returns a vector of raw PECI responses corresponding to the vector of raw commands. Tested: Confirmed that a single and multiple PECI commands correctly execute and return when SendRawPeci is called. Change-Id: I6b2d0f81366ea77057e70d69c72be90ba4c4aeb9 Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
libpeci is a library that provides various APIs to interface with the IOCTLs provided by the PECI driver in the OpenBMC kernel. Currently available here:
https://github.com/openbmc/linux/blob/dev-5.4/include/uapi/linux/peci-ioctl.h
This repo also includes a peci_cmds command-line utility with functions that map to the libpeci APIs. It can be used to test PECI functionality across the library, driver, and hardware.
This repo also includes dbus_raw_peci which provides a raw-peci daemon that exposes a raw PECI interface that is accessible over D-Bus. It can be used when an application needs to send a raw PECI command without loading the full PECI library.