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
- 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