AMI-Aptio-BIOS-Reversed / LenovoServerPkg / SystemInventory / SystemInventory /
@Ajax Dong Ajax Dong authored 7 days ago
..
AsciiStrCopyS.c Recovering names 7 days ago
AsciiStrHexToUint64.c Recovering names 7 days ago
BasePrintLibInternalFormat.c Recovering names 7 days ago
CallSystemInventoryProtocolMethod.c Recovering names 7 days ago
CheckDeviceVpd.c Recovering names 7 days ago
CheckVpdAndUpdateToBmc.c Recovering names 7 days ago
CreateLegacyBootEventEx.c Recovering names 7 days ago
CreateReadyToBootEventEx.c Recovering names 7 days ago
GetBmcVirtualCdDeviceNumber.c Recovering names 7 days ago
GetSystemConfigurationTableByGuid.c Recovering names 7 days ago
InitializeCpuInfo.c Recovering names 7 days ago
InitializeDimmInfo.c Recovering names 7 days ago
InitializePciInventory.c Recovering names 7 days ago
InitializeStorageInventory.c Recovering names 7 days ago
InitializeSystemInventory.c Recovering names 7 days ago
OnBmcUsbProtocolNotify.c Recovering names 7 days ago
OnBmcVirtualCdProtocolNotify.c Recovering names 7 days ago
OnIpmiDxeProtocolNotify.c Recovering names 7 days ago
OnReadyToBoot.c Recovering names 7 days ago
ParsePciDevicePathLocation.c Recovering names 7 days ago
PciConfigReadVpd.c Recovering names 7 days ago
README.md Restructure the repo 7 days ago
RegisterProtocolNotifyEx.c Recovering names 7 days ago
RegisterReadyToBootHandler.c Recovering names 7 days ago
RegisterSystemInventoryCallbacks.c Recovering names 7 days ago
SaveSmbiosDataToBmc.c Recovering names 7 days ago
SetBmcVirtualCdDeviceNumber.c Recovering names 7 days ago
SystemInventory.c Recovering names 7 days ago
SystemInventory.h Recovering names 7 days ago
SystemInventory.md Restructure the repo 7 days ago
SystemInventory_ModuleEntryPoint.c Recovering names 7 days ago
SystemInventory_funcs.json Full restructure 7 days ago
SystemInventory_funcs_full.json Full restructure 7 days ago
README.md

SystemInventory

Field Value
Index 0095
Module SystemInventory
Image SystemInventory.efi
Size 40,352 bytes (6 sections, PE32+)
SHA256 9dfdac65a178a0ff08818f0a88175e7316797b5..
Subsystem DXE Driver (0Bh)
Functions ~25 (ModuleEntryPoint + 24 sub_* stubs)

Source Package

LenovoServerPkg/SystemInventory/SystemInventory

Overview

DXE driver that collects and inventories system hardware components during POST. Queries PCI buses, CPU topology, memory configuration, and other platform devices to build a complete system inventory. The inventory data is likely reported to the BMC via IPMI and/or stored in UEFI variables for later consumption by setup menus and SMBIOS table generation.

Key Functions

  • ModuleEntryPoint -- driver entry point
  • Multiple sub_* functions covering PCI enumeration and device discovery
  • Hardware inventory collection and data formatting routines

Dependencies

  • EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL
  • IPMI transport protocol
  • SMBIOS protocol (likely)
  • UEFI Boot Services

Platform

Lenovo HR650X, Purley platform.