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