Welcome to Microsoft Q&A!
Thank you for providing the raw SEL records and for clarifying that you are working on BMC firmware development.
The manufacturer bytes 37 01 00 represent Microsoft's IANA enterprise ID, 0x000137. Windows boot components, including Boot Manager, Winload and the early Windows kernel, can generate Microsoft OEM SEL records during the boot process.
At a high level, the record types are used as follows:
- 0xC0, OEM raw-data record: Contains up to six bytes of supplemental or raw event data. Its interpretation depends on the associated leading event record, so it generally cannot be decoded reliably on its own.
- 0xD0, OEM error record: Contains a Microsoft-defined error code and status value, with the status typically representing an NTSTATUS value. Additional event data may be provided through associated 0xC0 records.
- 0xDF, OEM boot-environment record: Used by Windows boot-environment components for startup-related diagnostic or event information. The six-byte payload is interpreted according to Microsoft-defined boot-event values.
For example, the 0xD0 record you provided contains:
- Microsoft IANA ID: 37 01 00
- Error code: 0x000C
- Status value: 0x00000000
However, I would recommend against interpreting the exact meaning of error code 0x000C, the 0xDF event value, or the associated 0xC0 payloads based solely on the raw bytes. Their meanings depend on Microsoft-defined values and, in some cases, the relationship between adjacent SEL records.
Microsoft provides public documentation for Windows IPMI-related structures, but a complete public decoding table or supported reference decoder for these Microsoft OEM SEL payloads does not appear to be available. Standard IPMI utilities may retrieve and display the raw records, but meaningful decoding requires the corresponding Microsoft-specific definitions.
For a production BMC implementation, I would also recommend avoiding hard-coded descriptions derived only from observed records. Without an authoritative specification, there is a risk of interpreting an event incorrectly or relying on definitions that could change.
Since your requirement is specifically for BMC firmware development and may involve a non-public hardware interface specification, the best approach would be to contact Microsoft through the Windows Hardware Developer Program:
- Sign in with a Partner Center account enrolled in the Windows Hardware Program.
- Open a support case through Microsoft Engage Center.
- Select Windows Developer Center as the product.
- Select Hardware Device Drivers as the problem type.
- Provide the raw SEL records, Windows version and build, BMC/firmware information, reproduction details, and explain that you require the OEM SEL decoding specification for implementation in BMC firmware.
If your organization does not currently have access to an enrolled Windows Hardware Program account, you can contact Partner Center support regarding enrollment or the appropriate hardware support channel.
If your organization already works directly with Microsoft as a hardware or device partner, I would also recommend reaching out through your existing Microsoft Device Partner or OEM engineering contact. They should be able to advise whether the specification can be provided and whether any additional agreements are required.
In summary, these records can be generated by Microsoft Windows boot components, but the complete event-code and payload mappings are Microsoft-specific and are not defined by the general IPMI specification. For an authoritative decoding specification suitable for a BMC firmware implementation, the Windows Hardware Program or your Microsoft hardware/OEM engineering contact would be the appropriate path.
References:
- IPMI_OS_SEL_RECORD - Windows drivers | Microsoft Learn
- Support for Partner Center Dashboard - Windows drivers | Microsoft Learn
- IPMI Specification v2.0 - Intel
- Microsoft Device Partner Support
I hope this helps clarify both the SEL records and the appropriate next step for obtaining the decoding information.
If you find it useful, please click Accept Answer.
Thank you for choosing Microsoft Q&A.