Fix for ClearMessageFlags IPMI command

Issue: "In ClearMessageFlags IPMI command implementation, Watchdog
pre-timeout interrupt flag is cleared unconditionally. Due to that
Get Message Flags IPMI command response is not expected.

Fix: In ClearMessageFlags, Set dbus property
"PreTimeoutInterruptOccurFlag" of interface
"xyz.openbmc_project.State.Watchdog" to actual user input.

Tested:
1. Verified using cmdtool utility and clear linux OS.
Command: ipmitool raw 6 0x24 0x5 0x33 0x5 0x3e 0x64 0x00
                      //Set watchdog timer
Response:            //Success
Command: ipmitool raw 6 0x22 //Reset Watchdog Timer
Response:            //Success
Command: ipmitool raw 6 0x25  //Get Watchdog Timer
Response: 05 33 00 00 64 00 64 00

Verified from system interface using cmdtool utility and Clear linux.
Command: > cmdtool.efi 20 18 31 //Get Message Flags
Response: 00 0A

Signed-off-by: JitendraKumar Tripathy
<jitendra.kumarx.tripathy@intel.com>
Signed-off-by: Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>
Change-Id: Ib5e25268204295e5250fb8500d95a1f0169f2043
1 file changed
tree: 25995b7f943ce848922086bfeaac725549f57d34
  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