IPMI OEM Commands for OOB bios config

Four IPMI OEM commands are defined and implemented for the
communication beteween BIOS and BMC.
cmdSetBIOSCap = 0xD3;
cmdGetBIOSCap = 0xD4;
cmdSetPayload = 0xD5;
cmdGetPayload = 0xD6;
cmdSetPasswordHashInfo = 0xD7;
cmdGetStoredPasswordHash = 0xD8;

Added the OTA Payload Type

Tested:
1. ipmitool is working well for these 6 commands
2. passed unit test w/ bios and bios.xml is generated successfully

Change-Id: Ic318c18ca6d59c3ad6e10df9ffb2b22a38a55ddf
Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
Signed-off-by: Suryakanth Sekar <suryakanth.sekar@linux.intel.com>
4 files changed
tree: 045cec35107349561a061fbb0ec9f88a96b6ae36
  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. 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