| 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