# SlotDataUpdateDxeLightningRidgeEXECB4

## Function Table

| Address | Name | Description |
|---------|------|-------------|
|  | **UbaDebugPrint** |  |
|  | **AssertHandler** |  |
|  | **InitializeDebugProtocol** |  |
|  | **ReadUnaligned64** |  |
|  | **IsPlatformSlotHob** |  |
|  | **SlotDataUpdateDxeEntryPoint** |  |
|  | **_ModuleEntryPoint** |  |
| Global | **variables for UEFI system table pointers** |  |
| EFI_HANDLE | **gImageHandle   = NULL;** |  |
| Cached | **protocol and HOB pointers** |  |
| STATIC | **UBA_DEBUG_PROTOCOL  *mDebugPrintProtocol   = NULL;** |  |
| Platform | **slot table data - LightningRidge EX EC B4** |  |
| These | **tables define the PCIe slot configuration for the platform** |  |
| STATIC | **CONST PLATFORM_SLOT_TABLE mSlotTableConfig1 = {** |  |
| Signature | **'PSLT'** |  |
| Version | **0xBB0,                    // GpioConfigBase** |  |
| SlotConfigBase | **1,                        // SlotCount** |  |
| Reserved | **};** |  |
| Read | **CMOS status register to check debug state** |  |
| IoWrite8 | **(0x70, (IoRead8 (0x70) & 0x80) | 0x4B);** |  |
| Read | **debug enable from platform scratchpad (F000 segment)** |  |
| if | **(DebugLevel == 0) {** |  |
| Determine | **the actual debug print level based on CMOS** |  |
| UINTN | **PrintErrorLevel = 0x80000086; // DEBUG_INFO | DEBUG_LOAD** |  |
| DEBUG_ERROR | **}** |  |
| Allocate | **pool for protocol lookup key** |  |
| UINTN | **PoolSize = (*(UINTN (EFIAPI **)(UINTN))(gBootServices + 24))(31);** |  |
| If | **HOB list not found, assert** |  |
| if | **(mHobList == NULL) {** |  |
| Save | **and validate ImageHandle** |  |
| gImageHandle | **= ImageHandle;** |  |
| Save | **and validate SystemTable** |  |
| gSystemTable | **= SystemTable;** |  |
| Save | **and validate BootServices** |  |
| gBootServices | **= SystemTable->BootServices;** |  |
| Save | **and validate RuntimeServices** |  |
| gRuntimeServices | **= SystemTable->RuntimeServices;** |  |
| Initialize | **debug print protocol** |  |
| InitializeDebugProtocol | **();** |  |
| Retrieve | **the HOB list (populates gHobList global)** |  |
| GetHobListInternal | **(ImageHandle);** |  |
| Print | **driver load trace message** |  |
| UbaDebugPrint | **(** |  |
| Locate | **the slot configuration protocol to install onto** |  |
| Status | **= gBootServices->LocateProtocol (** |  |
| Install | **first slot configuration (32 bytes of slot table data)** |  |
| Protocol | **GUID: LIGHTNING_RIDGE_EX_EC_B4_SLOT_TABLE_PROTOCOL_GUID** |  |
| Status | **= ((EFI_SLOT_PROTOCOL *)SlotProtocol)->InstallProtocol (** |  |

---
*Generated by HR650X BIOS Decompilation Project*