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

SmbiosType39

  • Module: 0088
  • File: SmbiosType39.efi
  • Size: 10112 bytes (0x2780)
  • Phase: DXE (Driver Execution Environment)
  • Source package: LenovoServerPkg

Overview

UEFI DXE driver that installs SMBIOS Type 39 (Power Supply) records. Communicates with the Management Engine (ME) via the HECI protocol to retrieve power supply information for up to two power supply bays. For each detected bay, queries the ME for device name, manufacturer, serial number, asset tag, model part number, revision level, max power capacity, and presence/status. The collected data is assembled into SMBIOS Type 39 structures and installed via the SMBIOS protocol.

Key Functions

Function Description
_ModuleEntryPoint UEFI driver entry point; initializes globals and registers InstallSmbiosType39Structure as a notification callback
InstallSmbiosType39Structure Main callback that enumerates power supply bays (0-1), communicates with ME via HECI, and installs SMBIOS Type 39 records
SendHeciPowerSupplyCommand Sends a HECI command to the ME with group ID 0x8A0A and retrieves the response data
GetSmbiosProtocol Locates and caches the EFI SMBIOS protocol
GetHeciProtocol Locates and caches the HECI protocol for ME communication
GetPcdProtocol Locates and caches the PCD protocol
GetHobList Retrieves HOB list pointer from system table
GetSupplyBayString Returns descriptive string for supply bay 0 (Left/Inner) or 1 (Right/Outer)
EfiGetSystemConfigurationTable Locates a configuration table by GUID

Protocols/Dependencies

  • SMBIOS Protocol - For installing SMBIOS Type 39 records
  • HECI Protocol - Host Embedded Controller Interface for ME communication
  • PCD Protocol - Platform Configuration Database
  • MM PCI Base Protocol - For reading ME firmware status register (MCHBAR)
  • HECI command set (Group ID 0x8A0A) with commands for device name (0x9A), manufacturer (0x99), serial number (0x62), asset tag (0x61), model part number (0x9B), revision level (0xA7), max power capacity (0x78), and power supply status (0x78)

Platform

Lenovo ThinkSystem HR650X (Purley platform, Intel Xeon Scalable) - Management Engine integration