SEL log Generator ID should Conform to IPMI Spec

In IMPI specification, the generator ID for SEL log is 2 bytes long.
Apart from the Generator ID, it contains LUN and channel information.
The fix is to change 1-Byte Generator ID to 2-byte generator ID and
include all missing information into it.

Tested
Following tests were executed:
1) Run ipmitool raw -l 1 0x4 0x2 0x4 0x8 0x1 0x6 0x1 0x5
This ensures that non-zero LUN information is included
in the SEL record.

2) Instrument the code to look like ME has created an event
and make sure that logs are saved properly.

For 1) and 2) logs are read from the WebUI to make sure that
they are being saved as expected.

Signed-off-by: Sujoy Ray <sujoy.ray@intel.com>
Change-Id: I78d4423cc24c941af7bf0cd70423a95747ba4a76
3 files changed
tree: c38f4605b1c97ca3a5253f7e7d1dba677ceafef4
  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