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

SmmIpmiBmcInitialize

  • Index: 0192
  • Size: 10,564 bytes (10.3 KB)
  • Phase: SMM (System Management Mode)
  • PE Format: PE32+ x86-64, 5 sections (.text, .rdata, .data, section_3, .xdata)

Overview

SMM driver for IPMI (Intelligent Platform Management Interface) BMC (Baseboard Management Controller) initialization. Part of the AmiIpmiPkg/Ipmi/IpmiInitialize package. This driver runs during SMM initialization to set up the communication channel between the host BIOS and the BMC. Key responsibilities include initializing the IPMI transport (typically KCS, BT, or SMIC interface), establishing the SMM/BMC communication pathway, and ensuring the BMC is ready to handle system management events from SMM context.

Key Functions

  • ModuleEntryPoint -- Standard SMM driver entry; calls library init, then the IPMI BMC initialization routine
  • sub_9E0 -- Core IPMI BMC initialization logic (transport setup, interface detection, BMC readiness check)
  • sub_564 -- AutoGen library constructor (saves ImageHandle, SystemTable, BootServices, RuntimeServices)
  • sub_1524 -- Library destructor cleanup
  • sub_320 -- Manual unload handler for driver removal
  • sub_1888 -- Error path handler when initialization fails

Protocols

  • SmmBase2 Protocol -- SMM service entry point
  • gSmst (SMM Services Table) -- Pool allocation, protocol location, installation
  • IPMI Transport Protocol -- BMC communication via IPMI command/response

Platform

  • Build: HR6N0XMLK DEBUG_VS2015 X64
  • Source: AmiIpmiPkg/Ipmi/IpmiInitialize/SmmIpmiBmcInitialize
  • Part of: HR650X BIOS IPMI subsystem (indices 0192-0194)