Newer
Older
AMI-Aptio-BIOS-Reversed / docs / subsystem_behaviour_map.md
@Ajax Dong Ajax Dong 12 hours ago 9 KB Added some docs

Subsystem Behaviour Map

This map groups the recovered BIOS modules by externally visible behaviour. It
is intended as a navigation aid for analysis, not as a claim that every module
in the firmware has been fully reconstructed.

Boot Core and Dispatch

Behaviour Evidence
PEI dispatcher, PEI services, PPI database, HOB creation, memory init MdeModulePkg/Core/Pei/PeiMain/PeiCore/README.md
PEI-to-DXE transfer, DXE Core discovery, LZMA decompression, x64 page tables MdeModulePkg/Core/DxeIplPeim/README.md
DXE services, protocol/handle database, memory, image loading, event/timer, dispatcher MdeModulePkg/Core/Dxe/SectionExtraction/CoreSectionExtraction/README.md
SMM IPL, SMRAM allocation, SMM communication, SMM Core loading MdeModulePkg/Core/PiSmmCore/PiSmmIpl/README.md
SMM Core SMST services and SMI handler dispatch MdeModulePkg/Core/PiSmmCore/PiSmmCore/README.md

Security, Measurement, and Update Control

Behaviour Evidence
Intel Boot Guard PEI hash verification of firmware-volume segments PurleyPlatPkg/BootGuard/ExtendBtGSupportToDxe/Pei/BootGuardPei/README.md
TPM 2.0 DXE protocol, PCR extend, event log, TPM ACPI update AmiModulePkg/TCG2/Common/TcgDxe/Tcg2Dxe/README.md
TPM/TCG PEI and platform setup policy AmiModulePkg/TCG2/Common/TcgPei/TcgPei/README.md, AmiModulePkg/TCG2/Common/TcgPlatformSetupPolicy/README.md
Secure Boot variable provisioning and SetupMode handling AmiModulePkg/SecureBoot/SecureBootDXE/README.md
SMM TCG storage-security path AmiModulePkg/TcgStorageSecurity/SmmTcgStorageSec/README.md
Flash and secure-flash update paths AmiModulePkg/Flash/SmiFlash/README.md, AmiModulePkg/SecureFlash/SecSMIFlash/README.md
Crypto service initialization AmiCryptoPkg/CryptoLib/CryptLibInitRun/README.md, AmiCryptoPkg/CryptoSMM/README.md

BMC, IPMI, and Out-of-Band Management

Behaviour Evidence
PEI BMC/IPMI initialization AmiIpmiPkg/Ipmi/PeiIpmiInitialize/PeiIpmiBmcInitialize/PeiIpmiBmcInitialize/README.md
DXE KCS transport, BMC self-test, Type 42/SPMI records, boot flags AmiIpmiPkg/Ipmi/IpmiInitialize/DxeIpmiBmcInitialize/DxeIpmiBmcInitialize/README.md
SMM IPMI initialization AmiIpmiPkg/Ipmi/SmmIpmiBmcInitialize/README.md
SEL/status-code forwarding AmiIpmiPkg/Ipmi/DxeSelStatusCode/README.md, AmiIpmiPkg/Ipmi/PeiSelStatusCode/PeiSelStatusCode/README.md
BMC event-log handling AmiIpmiPkg/Ipmi/BmcElog/BmcElog/README.md, AmiIpmiPkg/Ipmi/SmmBmcElog/README.md
BMC LAN/IPMI network setup AmiNetworkPkg/UefiNetworkStack/Ipv4/BmcLanConfig/README.md, AmiNetworkPkg/UefiNetworkStack/Ipv6/Ip6BmcLanConfig/README.md
Lenovo inventory collection for management consumers LenovoServerPkg/SystemInventory/SystemInventory/README.md, LenovoServerPkg/InventoryApp/README.md

Setup, HII, and Boot Option Policy

Behaviour Evidence
AMI Aptio setup UI, menu database parsing, rendering, hotkeys AmiTsePkg/EDK/MiniSetup/AMITSE/README.md
Boot-option management and UEFI boot variables AmiTsePkg/EDK/MiniSetup/AMITSE/README.md
Lenovo setup variable and HII infrastructure LenovoServerPkg/Setup/README.md
Server management setup pages LenovoServerPkg/ServerMgmtSetup/README.md
Socket setup pages LenovoServerPkg/SocketSetup/README.md
Setup defaults LenovoServerPkg/SetupDefaults/SetupDefaultLoad/README.md
SKU/riser/board-specific setup updates PurleyRpPkg/Uba/UbaMain/Dxe/TypeNeonCityEPRP/SetupConfigUpdateDxe/README.md and sibling Type*/SetupConfigUpdateDxe modules
Network, NVMe, PCI, TPM, FPGA setup pages AmiNetworkPkg/UefiNetworkStack/Common/NetworkStackSetupScreen/README.md, AmiModulePkg/Nvme/NvmeDynamicSetup/README.md, AmiModulePkg/PCI/PciOutOfResourceSetupPage/README.md, PurleySktPkg/Dxe/FpgaInit/FpgaSocketSetup/README.md

Silicon, Board, and SKU Initialization

Behaviour Evidence
PCH/south-cluster PEI silicon init PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInitPreMem/README.md, PurleySktPkg/SouthClusterLbg/SiInit/Pei/SiInit/README.md
PCH DXE/SMM init PurleySktPkg/SouthClusterLbg/PchInit/Dxe/PchInitDxe/README.md, PurleySktPkg/SouthClusterLbg/PchInit/Smm/PchInitSmm/README.md
GPIO init and unlock paths PurleySktPkg/SouthClusterLbg/Gpio/Pei/GpioInit/README.md, PurleySktPkg/SouthClusterLbg/Gpio/Smm/PchGpioUnlockSmm/README.md
SMBus DXE/SMM support PurleySktPkg/SouthClusterLbg/Smbus/Dxe/PchSmbusDxe/README.md, PurleySktPkg/SouthClusterLbg/Smbus/Smm/PchSmbusSmm/README.md
ME/HECI communication PurleySktPkg/Me/Heci/Pei/HeciInit/README.md, PurleySktPkg/Me/Heci/Dxe/HeciInitDxe/README.md, PurleySktPkg/Me/Heci/Smm/HeciSmm/README.md
Intel SPS integration PurleySktPkg/Me/Sps/Pei/SpsPei/README.md, PurleySktPkg/Me/Sps/Dxe/SpsDxe/README.md, PurleySktPkg/Me/Sps/Smm/SpsSmm/README.md
FPGA configuration and error handling PurleyRpPkg/Uba/UbaMain/Dxe/TypeNeonCityFPGA/FpgaConfigDataDxe/README.md, PurleyPlatPkg/Ras/Smm/ErrHandling/FpgaErrorHandler/FpgaErrorHandler/README.md
Board/SKU data update modules PurleyRpPkg/Uba/UbaMain/Dxe/Type*/StaticSkuDataDxe, Type*/SlotDataUpdateDxe, Type*/SmbiosDataUpdateDxe, Type*/IioCfgUpdateDxe

Inventory, SMBIOS, ACPI, and OS-Facing Tables

Behaviour Evidence
Hardware inventory collection during POST LenovoServerPkg/SystemInventory/SystemInventory/README.md
SMBIOS base support and DMI edit AmiCompatibilityPkg/Smbios/Smbios/README.md, AmiCompatibilityPkg/Smbios/SmbiosDmiEdit/README.md
Lenovo SMBIOS type updates LenovoServerPkg/SmbiosType11/SmbiosType11/README.md, LenovoServerPkg/SmbiosType39/README.md, LenovoServerPkg/SmbiosRpTable/README.md
Save SMBIOS data to platform/BMC consumers LenovoServerPkg/OemSaveSmbiosDxe/README.md
ACPI and BMC ACPI integration AmiModulePkg/ACPI/ACPI/README.md, AmiIpmiPkg/Ipmi/BmcAcpi/BmcAcpi/README.md
TPM ACPI update AmiModulePkg/TCG2/Common/Tpm20Acpi/README.md, AmiModulePkg/TCG2/Common/TcgDxe/Tcg2Dxe/README.md

Storage, Boot Devices, and Legacy Compatibility

Behaviour Evidence
AHCI/SATA and SMM AHCI support AmiModulePkg/AHCI/Ahci/README.md, AmiModulePkg/AHCI/AhciSmm/README.md
NVMe and dynamic NVMe setup AmiModulePkg/Nvme/Nvme/README.md, AmiModulePkg/Nvme/NvmeDynamicSetup/README.md
SCSI disk/bus and FAT filesystem MdeModulePkg/Bus/Scsi/ScsiDiskDxe/README.md, MdeModulePkg/Bus/Scsi/ScsiBusDxe/README.md, FatPkg/EnhancedFatDxe/README.md
ATA pass-through, HDD security, SMART AmiModulePkg/AtaPassThru/AtaPassThru/README.md, AmiModulePkg/HddSecurity/HddSecurity/README.md, AmiModulePkg/HddSmart/HddSMART/README.md
Opal/TCG storage security AmiModulePkg/OpalSecurity/OpalSecurity/README.md, AmiModulePkg/TcgStorageSecurity/TcgStorageSecurity/README.md
CSM and legacy INT13/video paths AmiModulePkg/CSM/CsmDxe/README.md, AmiModulePkg/CSM/Aint13/README.md, AmiModulePkg/CSM/CsmVideo/README.md

Network and Remote Boot

Behaviour Evidence
SNP/MNP/IP stack base AmiNetworkPkg/UefiNetworkStack/SnpDxe/README.md, PcAtChipsetPkg/PcatRealTimeClockSmm/PcatRealTimeClockSmm/MnpDxe/README.md
PXE boot AmiNetworkPkg/UefiNetworkStack/PxeBcDxe/README.md
HTTP boot AmiNetworkPkg/UefiNetworkStack/HttpBootDxe/README.md
iSCSI boot AmiNetworkPkg/IScsiDxe/IScsiDxe/README.md
DNS/DHCP/IP protocol modules MdeModulePkg and AmiNetworkPkg/UefiNetworkStack protocol subtrees
Redfish API support AmiNetworkPkg/Redfish/AmiRedFishApi/README.md

POST, Logging, RAS, and Error Handling

Behaviour Evidence
Lenovo PEI/DXE POST status-code paths LenovoServerPkg/POSTStatus/LnvPeiStatusCode/README.md, LenovoServerPkg/POSTStatus/LnvDxeStatusCode/README.md
POST data transfer and screen information LenovoServerPkg/POSTDataTransfer/README.md, LenovoServerPkg/PostScreenInfo/PostScreenInfo/README.md
Lenovo OOB/status drivers LenovoServerPkg/POSTStatus/LnvOobDriverDxe/README.md, LenovoServerPkg/POSTStatus/LnvDriverDxe/README.md
Generic and BMC event logs AmiModulePkg/GenericElog/GenericElog/README.md, AmiModulePkg/GenericElog/SmmGenericElog/README.md, AmiIpmiPkg/Ipmi/SmmBmcElog/README.md
WHEA boot and error logging CpPlatPkg/Whea/WheaPlatformBoot/README.md, CpPlatPkg/Whea/WheaElog/README.md, CpPlatPkg/Whea/WheaErrorLog/README.md
Purley RAS and SMM recovery PurleyPlatPkg/Ras/Smm/ErrHandling, PurleySktPkg/Smm/Ras

Runtime, Variables, and SMM Services

Behaviour Evidence
Runtime services DXE/SMM bridge AmiModulePkg/RuntimeDxe/RuntimeDxe/README.md, AmiModulePkg/RuntimeSmm/RuntimeSmm/README.md
NVRAM PEI/SMM and SMI variable services AmiModulePkg/NVRAM/NvramPei/README.md, AmiModulePkg/NVRAM/NvramSmm/README.md, AmiModulePkg/SmiVariable/SmiVariable/README.md
S3 NVRAM/save-state support AmiModulePkg/NVRAM/S3NvramSave/README.md, AmiModulePkg/SmmS3SaveState/S3SaveStateDxe/README.md, AmiModulePkg/SmmS3SaveState/SmmS3SaveState/README.md
RTC runtime and SMM services PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc/README.md, PcAtChipsetPkg/PcatRealTimeClockSmm/PcatRealTimeClockSmm/PcRtcSmm/README.md
Register access services CpRcPkg/Universal/RegAccess/Pei/RegAccessPeim/README.md, CpRcPkg/Universal/RegAccess/Dxe/RegAccessDxe/README.md, CpRcPkg/Universal/RegAccess/Smm/RegAccessSMM/README.md

High-Risk Analysis Areas

Prioritize direct source inspection before drawing conclusions in these areas:

  • SMM communication and buffer validation.
  • Flash and secure-flash update handlers.
  • Runtime variable services and setup-variable policy.
  • Secure Boot database provisioning.
  • TPM physical-presence, MOR, and PCR event-log handling.
  • BMC/IPMI command transport and SEL/status-code forwarding.
  • RAS/WHEA SMI handlers and error-injection paths.
  • CSM/legacy boot and storage-security paths.