Newer
Older
AMI-Aptio-BIOS-Reversed / MdeModulePkg / Core / Dxe / SectionExtraction / RomLayoutDxe / README.md
@Ajax Dong Ajax Dong 2 days ago 2 KB Restructure the repo

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