commit | f4d5e05e388aafd06d8320a2f81594de35c77c0d | [log] [tgz] |
---|---|---|
author | Johnathan Mantey <johnathanx.mantey@intel.com> | Wed Sep 22 12:58:08 2021 -0700 |
committer | Johnathan Mantey <johnathanx.mantey@intel.com> | Fri Oct 01 17:27:43 2021 +0000 |
tree | b4b804739e02421243a0590549dce2b10af87a6d | |
parent | 3c7ec2d02be653761d963a3710650f999ca6648f [diff] |
Guarantee SDR Type12 byte alignment matches the IPMI spec The Type12 structure used a uint24_t to assign storage for 3 reserved bytes in the Type12 SDR definition. This turned out to be an issue as the compiler promoted the uint24_t to a uint32_t, which added one additional byte to the structure. This in turn pushed the trailing bytes out of alignment. The defintion has been changed to use an explicit uint8_t array that is three bytes in size. This defines the structure in a way that guarantees the size of the record is correct. The structure has also had a constructor added to it to eliminate code duplication, and to reduce the likelihood of errors caused by manual calculation of values. Tested: Issued 'ipmitool sdr dump /tmp/sdrs.bin' Performed a hex dump on the binary data and reviewed the Type12 records. Confirmed all fields were correctly assigned, including the inclusion of only 3 reserved bytes. Change-Id: I3fef5a1fe67877e5a6cf6e7928c5f15599bfb6f6 Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
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.
intel-ipmi-oem
serves as an extension[1]
to OpenBMC IPMI daemon[2]
. It is compiled as a shared library and intended to both:
Related features provided by the library are grouped in separate source files. Main extensions to vanilla OpenBMC IPMI stack are the following:
[4]