PeiIpmiBmcInitialize
| Index |
Module |
Size |
Phase |
| 0411 |
PeiIpmiBmcInitialize.efi |
0x27E0 (10208 bytes) |
PEI |
Overview
This module provides early IPMI (Intelligent Platform Management Interface) BMC (Baseboard Management Controller) initialization during the PEI phase. It implements the KCS (Keyboard Controller Style) IPMI transport layer for BMC communication, performs BMC discovery and interface detection, configures PCH LPC cycle decoding for IPMI I/O ranges, detects power failure status, and identifies the PCH SKU (Lewisburg vs. Sunrise Point). It installs a status code reporting PPI for debug output.
Key Functions
GetReportStatusCode -- Locates and returns the ReportStatusCode PPI
ReportStatusCode -- Debug output via status code PPI with varargs
DebugAssert -- Assert handler for debug builds
InternalCopyMem -- Portable memory copy with overlap handling
- BMC KCS transport: send/receive IPMI commands via KCS interface
- PCH decode range programming for IPMI I/O port enablement
Dependencies
- PeiIpmiBmcInitialize.h (module header)
- PEI Services (GetPeiServices / LocatePpi / InstallPpi)
- PCH LPC register definitions
- IPMI/KCS protocol specifications
- Architecture: IA32 (32-bit)
- Machine type: x86 (0x014C)
- Subsystem: EFI Boot Service Driver (0x000B)
- Format: PE32
- Image base: 0xFFE5B334
- Sections: .text, .rdata, .data, .reloc