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.