OOB NV File Handling flow is corrected.

1.OOB NV files are restored properly after BMC reset
2.Added File Error handling

Tested:
Get OOB BIOS capability
ipmitool raw 0x30 0xd4

Set OOB BIOS Capability
ipmitool raw 0x30 0xd3 0x16 0 0 0

SetPayload  Start Info :
ipmitool raw 0x30 0xd5 0 3 0 0 0x44 0 0 0 0xc 0xab 0xc2 0x53 0x0
Success with Reservation ID
SetPayload InProgress :
ipmitool raw 0x30 0xd5 1 3   <Reservation ID> 0 0 0 0 0x44 0 0 0
 0xc 0xab 0xc2 0x53 0x50 0x58 0x4F 0x24 0x44 00 0x20 00 0x02
 0x4E 0x81 00 0x03  00 0x03 0xF8  0x02 00 00 0x79 0x18  00
 0x04 00 0x07 00 00 00 00 00 00 00 0x02  0x24 00 00 0xE8
 0x7E 0xF8  0x83 0x06 00 00 00 00 00 00 00 00 00 00 00 00
 0x7F 00 0x07 00 00 0x81 00 00 00 00 00 00 00 00 00
EndOfTransfer:
ipmitool raw 0x30 0xd5 2 3   <Reservation ID>
Success with data
Reboot the BMC
reboot

Get Payload Info:
ipmitool raw 0x30 0xd6 0 3
Success with data
Get Payload:
ipmitool raw 0x30 0xd6 1 3 0 0 0 0 0x44 0 0 0
Success with data

Delete the Payload3 File:
Get Payload Info
ipmitool raw 0x30 0xd6 0 3
0xFF // Unspecified Error

Get Payload :
ipmitool raw 0x30 0xd6 1 3 0 0 0 0 0x44 0 0 0
0xFF // Unspecified Error

Signed-off-by: Suryakanth Sekar <suryakanth.sekar@linux.intel.com>
Change-Id: I6c09e4154d4a33557fe02449f20e820204a8e0f5
2 files changed
tree: 6af877c5a448a6f412cca3af224a8b7fc5a37e03
  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