Fix assigning Generator ID for IPMB path

Per IPMI spec - Generator ID is defined as follows for I2C sender:
[7-1] = I2C Slave Address
[0] = 0 (indicates IPMB Slave Address)

This change is introducing proper shift for IPMB path, so Generator ID
is correctly assigned.

Tested:
- tested on actual system with IPMB events originating from ME,
- after this change SEL entries from ME have correct generator ID (0x2C).

Change-Id: I5b94e2242e5ac2b4d4ecc5c7e7cd9e8a93bd98ab
Signed-off-by: Adrian Ambrożewicz <adrian.ambrozewicz@intel.com>
1 file changed
tree: e9ed62412f39b48fcd395e1e9286b013b1f6fe62
  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