# SetupConfigUpdateDxeLightningRidgeEXECB3

## Function Table

| Address | Name | Description |
|---------|------|-------------|
|  | **ReturnNotFound** |  |
|  | **ReadUnaligned64** |  |
|  | **IsGuidMatch** |  |
|  | **DebugAssert** |  |
|  | **DebugPrint** |  |
|  | **ModuleEntryPoint** |  |
| Module | **Global Variables** |  |
| Image | **handle for this driver.** |  |
| Set | **by ModuleEntryPoint from the ImageHandle parameter.** |  |
| Asserted | **non-NULL before use.** |  |
| System | **table pointer.** |  |
| Set | **by ModuleEntryPoint from the SystemTable parameter.** |  |
| Boot | **services pointer, extracted from gSystemTable->BootServices.** |  |
| Runtime | **services pointer, extracted from gSystemTable->RuntimeServices.** |  |
| Asserted | **non-NULL before use (cached but not called directly by this module).** |  |
| Cached | **DebugLib protocol interface pointer.** |  |
| Initialized | **on first call to GetDebugProtocol().** |  |
| Cached | **HOB list pointer.** |  |
| Initialized | **on first call to GetHobList().** |  |
| Cached | **CMOS debug level byte from register 0x4B.** |  |
| Data | **Section Contents** |  |
| 1 | **.DataSize           = SETUP_CONFIG_DATA_SIZE,    // 0x48C** |  |
| 0x48C | **};** |  |
| Function | **Implementations** |  |
| Environment | **validation: allocate and free a small pool buffer** |  |
| to | **verify boot services are responding.** |  |
| Boot | **services appear broken** | return NULL |
| Locate | **the DebugLib protocol** |  |
| Read | **CMOS register 0x4B for board type / debug level** |  |
| Interpret | **the board type value** |  |
| Value | **> 3: if zero, look up fallback** |  |
| Use | **MMIO board configuration register as fallback** |  |
| Set | **the error level filter based on board type** |  |
| Error | **+ Warning + Info** |  |
| Error | **only** |  |
| If | **the ErrorLevel matches the filter, call the protocol** |  |
| Initialize | **gHobList = NULL;** |  |
| Scan | **the configuration table for the HOB list GUID** |  |
| Assert | **if HOB list was not found** |  |
| Assert | **if HOB list pointer is NULL after attempted resolution** |  |
| Step | **1: Initialize global pointers** |  |
| Step | **2: Locate the HOB list** |  |
| Step | **3: Log platform identification string** |  |
| Step | **4: Locate the UBA board-type protocol** |  |
| No | **registration** | just locate existing protocol |
| Step | **5: Register the setup configuration data** |  |
| The | **RegisterSetupConfig callback is at offset +0x10 in the protocol** |  |
| 24 | **bytes** |  |

---
*Generated by HR650X BIOS Decompilation Project*