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

StaticSkuDataDxeLightningRidgeEXECB4

Function Table

Address Name Description
ReadUnaligned64
GuidCompareByPair
UbaAssert
UbaDebugPrint
GetAcpiPathPointers
StaticSkuDataDxeEntryPoint
GUID definitions for the UBA protocol and HOB matching.
These GUIDs are consumed by the entry point but defined in the platform
BDS / UBA DXE driver package.
Module globals
UBA protocol function-table offsets
UBA protocol dispatch-table function type definitions
ACPI name-path entry layout
Each entry occupies 32 bytes:
NVDR Device N011 Socket 0, Channel 3
STATIC CONST UINT8 mN011AcpiEntries[8 * ACPI_ENTRY_SIZE] = {
NVDR Device N020 Socket 0, Channel 4
STATIC CONST UINT8 mN020AcpiEntries[8 * ACPI_ENTRY_SIZE] = {
ReadUnaligned64 // ---------------------------------------------------------------------------
GuidCompareByPair //
Compares two EFI_GUID values by splitting each into two UINT64 words.
This matches the code pattern used in the original binary.
Finds the UBA protocol via BootServices->LocateProtocol and caches the
allocating and immediately freeing a small pool.
PoolSize = 0x1F;
If the pool was small enough (<= 0x10), proceed to look up the protocol.
if (PoolSize <= 0x10) {
Dispatches an assertion through the UBA protocol's assert routine at
offset +8.
Conditionally prints a debug message via the UBA protocol's debug print
routine at offset +0. The decision is based on the platform type read
from CMOS scratch register 0x4B.
CMOS 0x4B platform type detection:
Select CMOS index 0x4B (preserve bit 7 of port 0x70).
IoWrite8 **(0x70, (IoRead8 (0x70) & 0x80) 0x4B);**
if (PlatformByte > 3) {
Map platform byte -> acceptable error-level mask.
if ((UINT8)(PlatformByte - 1) <= 0xFD) {
Forward call if the mask matches the caller's ErrorLevel.
if ((Result & ErrorLevel) != 0) {
Scans the system table's configuration table for a GUID pair that matches
the HOB list GUID. When found, the pointer at offset +16 is returned as
the HOB list.
Reconstruct the target GUID from the two module-embedded UINT64 values.
Returns three pointers into the ACPI path entry tables:
Entry Point
gImageHandle = ImageHandle;
FindHobList (ImageHandle);
UbaDebugPrint (0x80000000, "UBA:UsbOcUpdate-TypeLightningRidgeEXECB4\n");
Interface = 0;
Invoke InstallData at offset +16 in the protocol dispatch table.
Status = ((EFI_STATUS (EFIAPI )(UINT64, UINT8 , UINT8 *, UINTN))(

Generated by HR650X BIOS Decompilation Project