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

OpromUpdateDxeNeonCityFPGA

Attribute Value
Index 0006
Module OpromUpdateDxeNeonCityFPGA
Size (EFI) 4,192 bytes (1060h)
Phase DXE
Platform NeonCityFPGA
Framework UBA (Universal BIOS Architecture)
Source Lines 915 (2 files)

Overview

OpromUpdateDxeNeonCityFPGA provides Option ROM (OpROM) update configuration for the NeonCityFPGA platform via the UBA protocol. It registers callback functions that define PCIe slot-to-adapter mappings, enabling the platform to correctly configure option ROMs for installed PCIe devices. The driver scans for enabled PCIe slots via the PCI Root Bridge I/O Protocol and publishes OpROM configuration data through UBA callbacks.

Key Functions

  • _ModuleEntryPoint -- Entry point; caches system table pointers, locates HOB list, finds UBA protocol, registers OpROM configuration
  • GetHobList -- Scans SystemTable->ConfigurationTable[] for EFI_HOB_LIST_GUID
  • GetDebugProtocol -- Resolves and caches DebugLib protocol interface
  • DebugPrint -- Debug output via DebugLib protocol
  • DebugAssert -- Assertion handler via DebugLib protocol
  • IsGuidEqual -- Two-64-bit GUID comparison
  • GetPcieSlotConfigProtocol0 -- Callback that provides PCIe slot configuration protocol
  • ReadUnaligned64 -- Unaligned 64-bit memory read with NULL check

Dependencies

  • UEFI Boot Services (gBS->LocateProtocol)
  • UBA NeonCityFPGA Board-Type Protocol ({E03E0D46-5263-4845-B0A4-58D57B3177E2})
  • PCI Root Bridge I/O Protocol
  • DebugLib Protocol ({36232936-0E76-31C8-A13A-3AF2FC1C3932})
  • OpROM Update Config GUID

Platform

  • Architecture: x86-64 (PE32+)
  • Machine: 0x8664
  • Subsystem: EFI Boot Service Driver (0x000B)
  • Toolchain: VS2015, X64 DEBUG
  • Sections: 6 (.text, .rdata, .data, .idata, .reloc)
  • Entry Point: 0x390