Newer
Older
AMI-Aptio-BIOS-Reversed / DxeIpmiBmcInitialize / README.md
@Ajax Dong Ajax Dong 2 days ago 1 KB Init

DxeIpmiBmcInitialize

Field Value
Index 260
Module DxeIpmiBmcInitialize
File DxeIpmiBmcInitialize.efi
PE format PE32+
Size (hex) 5C04h
Size (bytes) 23,556
Subsystem EFI Boot Service (000Ch)
Sections 5 (.text, .rdata, .data, section_3, .xdata)
Phase DXE
Source AmiIpmiPkg/IpmiInitialize
Build DEBUG_VS2015, X64

Overview

This module performs BMC initialization during the DXE phase as part of the AMI IPMI stack. It locates and initializes KCS transport to the BMC, runs a BMC self-test and publishes the BMC Self Test Protocol, checks the BMC firmware version (OEM-specific), and installs SMBIOS Type 42 (Management Controller Description) and SPMI ACPI table records. It also handles IPMI CMOS clear, boot flag settings, and BMC-related setup option configuration.

Key Functions

  • _ModuleEntryPoint / DxeIpmiBmcInitialize2 -- driver entry and main initialization
  • IpmiBmcSelfTest -- runs BMC self-test and publishes the protocol
  • BmcSendCommand / BmcSendCommandWithResponse / BmcSendCommandNoResponse -- IPMI transport communication via KCS
  • SMBIOS Type 42 record installation
  • SPMI ACPI table installation
  • IPMI CMOS clear and boot flag handling
  • BMC firmware version validation (OEM-specific)

Dependencies

  • IPMI KCS Transport (I/O ports 0xCA2/0xCA3)
  • UEFI Boot Services
  • UEFI Runtime Variable Services (ServerSetup)
  • SMBIOS Protocol
  • ACPI Table Protocol
  • DebugLib

Platform

Intel/AMD64 UEFI, Lenovo HR650X BIOS