Bug 715575

Summary: ACPI SPMI table definition does not follow IPMI specification
Product: Red Hat Enterprise Linux 6 Reporter: Jan Holčapek <jholcape>
Component: kernelAssignee: Red Hat Kernel Manager <kernel-mgr>
Status: CLOSED NOTABUG QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: high Docs Contact:
Priority: high    
Version: 6.3CC: jholcape, moshiro
Target Milestone: rcKeywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-06-27 17:42:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Patch to fix SPMITable struct. none

Description Jan Holčapek 2011-06-23 11:59:25 UTC
Created attachment 506215 [details]
Patch to fix SPMITable struct.

Description of problem:

drivers/char/ipmi/ipmi_si_intf.c:

struct SPMITable {
        s8      Signature[4];
        u32     Length;
        u8      Revision;
        u8      Checksum;
        s8      OEMID[6];
        s8      OEMTableID[8];
        s8      OEMRevision[4];
        s8      CreatorID[4];
        s8      CreatorRevision[4];
        u8      InterfaceType;
        u8      IPMIlegacy;
        s16     SpecificationRevision;
[...]

According to ftp://download.intel.com/design/servers/ipmi/IPMIv2_0rev1_0.pdf
(and also http://sysdoc.doors.ch/HP/hpspmi.pdf formerly referenced
in the sources), the order of SPMITable.{IPMIlegacy,Interface} is wrong.
The structure should be like this:

struct SPMITable {
        s8      Signature[4];
        u32     Length;
        u8      Revision;
        u8      Checksum;
        s8      OEMID[6];
        s8      OEMTableID[8];
        s8      OEMRevision[4];
        s8      CreatorID[4];
        s8      CreatorRevision[4];
        u8      IPMIlegacy;     <=== these two
        u8      InterfaceType;  <=== swapped
        s16     SpecificationRevision;
[...]

Comment 1 Jan Holčapek 2011-06-27 08:11:23 UTC
It seems I spoke to soon: the latest IPMI specificatin errata at http://download.intel.com/design/servers/ipmi/IPMI2_0E4_061209.pdf
shows the order of SPMITable.{InterfaceType,IPMILegacy} is correct in the sources.
Thus, this is not a bug.

Comment 3 Prarit Bhargava 2011-06-27 17:42:07 UTC
Closing based on comment #1.

P.