Add OEM Command to Read Mailbox PFR Registers

This OEM command allows user to read PFR mailbox
registers by specifying register address, no of
bytes to read and register identifier
(single byte or FIFO register)
Below command supports reading of single byte and
 FIFO registers

ipmitool raw 0x3e 0x84 [Register Address] [No of Bytes to Read] [Register Identifier]
Note: Register Identifier:0 for single byte read register
      Register Identifier:1 for FIFO read register

Tested:
1.Single Byte Register Testing:
  a.ipmitool raw 0x3e 0x84 0x08 13 0:
    Successfully returned 13 bytes starting from the single byte read register address 0x08.
2.FIFO Read Register Testing:
  a.ipmitool raw 0x3e 0x84 0x08 13 1:
    Successfully returned 13 bytes from the FIFO address 0x08.
3.When Register Identifier is not 0 or 1 command will fail.
4.When either of register address or no of bytes is zero the command will fail.

Signed-off-by: Ankita Vilas Gawade <ankita.gawade@intel.com>
Change-Id: Ie64af93b1c9d79d407b331ef9d0d64a408614780
3 files changed
tree: d42b0b7d840ae75864142428c3a8dbfa1c838657
  1. cmake/
  2. docs/
  3. include/
  4. non-yocto/
  5. src/
  6. tests/
  7. .clang-format
  8. .gitignore
  9. cmake-format.json
  10. CMakeLists.txt
  11. CMakeLists.txt.in
  12. generate-whitelist.py
  13. ipmi-whitelist.conf
  14. LICENSE
  15. MAINTAINERS
  16. OWNERS
  17. README.md
README.md

Intel IPMI OEM support library

This component is intended to provide Intel-specific IPMI[3] command handlers for OpenBMC. These handlers are intended to integrate BMC with servers based on Intel architecture.

Overview

intel-ipmi-oem serves as an extension[1] to OpenBMC IPMI daemon[2]. It is compiled as a shared library and intended to both:

  • override existing implementation of standard IPMI commands to comply with Intel-specific solutions,
  • provide implementation for non-standard OEM extensions.

Capabilities

Related features provided by the library are grouped in separate source files. Main extensions to vanilla OpenBMC IPMI stack are the following:

  • Acquiring SMBIOS data over IPMI
  • Commands for better integration with Intel hardware
  • Firmware update extensions
  • Extended parsing of IPMI Platform Events[4]

References

  1. OpenBMC IPMI Architecture
  2. Phosphor IPMI Host
  3. IPMI Specification v2.0
  4. Intel Platform Events parsing