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

CRBDxe Function Map

This map is a cleaned navigation layer over CRBDxe.c. It preserves recovered
function names and addresses while grouping them by apparent responsibility.

Entry and Constructor Path

Address Function Notes
0x390 ModuleEntryPoint Calls UEFI service constructor, then dispatches PCH RC entry.
0x3ac UefiBootServicesTableLibConstructor Initializes global UEFI service pointers and DXE services table.
0x5dc PchRcConfigDriverEntry Registers protocol notifications and starts configuration synchronization.
0x6f0 PchRcConfigUpdate Reads and applies PCH RC configuration data.
0x840 PciClassCodeQuery Protocol notify callback path for PCI class-code checks.
0x9c8 OptimizedBootConfig Reads network stack configuration and registers PCI I/O notification.

SMBIOS Type 9 / PCIe Slot Handling

Address Function Notes
0xb7c SmbiosType9FillSlotTable Allocates and fills SMBIOS slot records.
0xc98 PciConfigBitParse Walks PCIe capabilities to extract link speed and width.
0xdb4 SmbiosType9SlotUpdateHelper Updates slot data from PCIe/GPIO/platform inputs.
0x1658 SmbiosType9TableUpdate Main table update path.
0x1844 SmbiosType9SetSlotId Slot identifier helper.
0x1858 SmbiosType9GetSlotConfig Slot configuration lookup helper.
0x2618 SmbiosType9SlotDataValidate Validates recovered slot data fields.

CRB / Protocol Notification

Address Function Notes
0x1004 CrbDriverEntryPoint Protocol notification entry for the CRB-related path.
0x1824 UefiLibCreateProtocolNotifyEvent Recovered UEFI library helper for protocol notification setup.
0x16ac NotifyFunctionCallback Callback used by protocol-notify registration.

Memory, Allocation, and Debug Helpers

Address Function Notes
0x2a0 InternalMemCopyMem Overlap-aware copy helper.
0x2f0 MemCopyForward Byte-fill wrapper around memset.
0x310 MemCopyBackward Zero-fill helper.
0x172c DebugLogPrint Debug print wrapper.
0x1774 AssertCpuDeadLoop Assertion failure path.
0x18c4 CopyMemWrapper Copy helper wrapper.
0x19b4 SetMemWrapper Set-memory helper wrapper.
0x1a24 CompareMemWrapper Compare-memory wrapper.
0x1b18 AllocatePoolWrapper Pool allocation wrapper.
0x1b48 AllocateZeroPoolWrapper Zeroed pool allocation wrapper.
0x1bb0 DxeServicesTableRegister DXE services table registration helper.

GPIO and MMIO Helpers

Address Function Notes
0x24c8 MmioReadHelper MMIO read helper used by validation paths.
0x2e1c GpioGetPadConfig Reads GPIO pad configuration.
0x2e80 GpioSetPadConfig Writes GPIO pad configuration.
0x2ee0 GpioCheckPadOverride Checks pad override status.
0x2f88 GpioPadCfgValidate Validates pad configuration fields.
0x3158 GpioGroupCheck Checks GPIO group metadata.
0x3200 GpioGetPadCfgBase Calculates pad configuration base address.
0x32d8 GpioGetChipsetId Recovers chipset ID.
0x3458 MmioRead16 16-bit MMIO read.
0x3468 MmioGetBaseAddr MMIO base calculation helper.
0x3478 MmioWrite16 16-bit MMIO write.

Cleanup Notes

  • Keep function addresses and raw decompiler names when evidence is incomplete.
  • Add recovered semantic names only when they are supported by strings, GUIDs,
    protocol use, or direct call context.
  • Avoid changing control flow in this source without a separate behavioral
    analysis pass.