Fix for non-existance of smbios file

After server reset, smbios info (file) will be created little
late in booting flow and causing error for consumers. This commit adds
smbios existence check and returns "CommandResponseNotProvided" for
consumer to handle such case.

Tested:
Verified using IPMI command
Command:  ipmitool  raw 0x3E 0x31 0x01 0x01 0x00 //read smbios data
Response:  Unable to send RAW command
(channel=0x0 netfn=0x3e lun=0x0 cmd=0x31 rsp=0xce):Command response
could not be provided.

Change-Id: I70c8ce42fc6673331dfea353ae3d0ac4980a5c3b
Signed-off-by: Prithvi A Pai <prithvi.a.pai@intel.com>
1 file changed
tree: 514fbd2b6f6ebd9356f957de555a1f4c7741ee85
  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