| Address | Name | Description | |
|---|---|---|---|
| EfiGetLastErrorCode | |||
| DebugPrint | |||
| DebugAssert | |||
| GuidCompare | |||
| ReadUnalignedQword | |||
| ModuleEntryPoint | |||
| Global | data | ||
| CMOS | debug-level storage (data segment at 0xBC8) | ||
| UINT8 | gCmosDebugLevel; | ||
| EfiGetLastErrorCode | // --------------------------------------------------------------------------- | ||
| Allocate | pool header check - verify pool allocation size <= 0x10 | ||
| This | is a standard UEFI memory allocation guard | ||
| PoolSize | = (UINT64)gBS->AllocatePool (EfiBootServicesData, 31); | ||
| Read | CMOS diagnostic register at index 0x4B via RTC ports 0x70/0x71 | ||
| IoWrite8 | **(RTC_INDEX_PORT, IoRead8 (RTC_INDEX_PORT) & 0x80 | CMOS_DIAG_ADDR);** | |
| Validate | debug level; handle special values | ||
| if | (DebugLevel > 3) { | ||
| Debug | level 0: read hardware strap from memory-mapped GPIO | ||
| DebugLevel | *= ((volatile UINT8 *)(UINTN)0xFDAF0490) & 2 | 1;** | |
| Determine | enabled error masks based on debug level | ||
| if | ((DebugLevel - 1) <= 0xFD) { | ||
| Debug | level >= 1: standard masks apply | ||
| if | (DebugLevel == 1) { | ||
| EFI_D_ERROR | ** | EFI_D_INIT** | |
| EFI_D_ERROR | ** | EFI_D_INIT | broader** |
| Call | the protocol's DebugPrint function if error level matches | ||
| if | ((EnabledMask & ErrorLevel) != 0) { | ||
| Found | matching HOB GUID | ||
| Hob | = *(VOID )((UINT64 )(SystemTable + 112) + 24 Index + 16);* | ||
| No | match found: ASSERT | ||
| DebugPrint | (DEBUG_ERROR, L"\nASSERT_EFI_ERROR (Status = %r)\n", EFI_ALREADY_STARTED); | ||
| Standard | UEFI driver initialization: save ImageHandle and SystemTable | ||
| gImageHandle | = (UINT64)ImageHandle; | ||
| Initialize | HOB list | ||
| GetHobList | (); | ||
| Register | debug message for this driver | ||
| RegistrationHandle | = 0; | ||
| Locate | the SetupConfig protocol | ||
| Status | = gBS->LocateProtocol ( | ||
| Register | notification callback for SetupConfig updates | ||
| The | protocol at offset +16 (notify function) is called with: | ||
| return | ((EFI_STATUS (EFIAPI )(VOID , VOID , VOID , UINTN))( |
Generated by HR650X BIOS Decompilation Project