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

RomLayoutDxe

Attribute Value
Index 0000
Module RomLayoutDxe
Size (EFI) 7,264 bytes (1C60h)
Phase DXE
Platform NeonCityFPGA
Framework UBA (Universal BIOS Architecture)
Source Lines 1,051 (2 files)

Overview

RomLayoutDxe is a UEFI DXE driver that identifies the ROM layout for the NeonCityFPGA platform and registers UBA setup configuration. It caches the HOB (Hand-Off Block) list from the UEFI system configuration table and publishes a platform-specific setup configuration protocol through the UBA framework. The driver implements standard DXE helper functions for debug output and assertion handling.

Key Functions

  • _ModuleEntryPoint -- Entry point; initializes UEFI globals, locates the HOB list, finds the UBA NeonCityFPGA board-type protocol, and registers setup configuration
  • GetHobList -- Scans SystemTable->ConfigurationTable[] for EFI_HOB_LIST_GUID
  • GetDebugProtocol -- Locates and caches the DebugLib protocol interface
  • DebugPrint -- Checks CMOS debug level and calls DebugLib protocol output
  • DebugAssert -- Calls DebugLib protocol assertion handler
  • IsHobListGuid -- Optimized GUID comparison using two 64-bit unaligned reads
  • ReadUnaligned64 -- Reads a 64-bit value from potentially unaligned memory

Dependencies

  • UEFI Boot Services (gBS->LocateProtocol)
  • UBA NeonCityFPGA Board-Type Protocol ({E03E0D46-5263-4845-B0A4-58D57B3177E2})
  • UBA NeonCityFPGA Setup Config Protocol ({CD1F9574-DD03-4196-96AD-4965146F9665})
  • DebugLib Protocol ({36232936-0E76-31C8-A13A-3AF2FC1C3932})
  • CMOS RTC ports (0x70/0x71) for debug level at index 0x4B

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