| Address | Name | Description |
|---|---|---|
| PeiDebugPrint | ||
| PeiDebugAssert | ||
| CfgDbLibGetNodeSignature | ||
| CfgDbLibInitNode | ||
| CfgDbLibAdjustOffsets | ||
| CfgDbLibFixupRelocation | ||
| CfgDbPeiGetDatabase | ||
| CfgDbLibGetRecord | ||
| CfgDbLibFindRecord | ||
| CfgDbLibAddRecord | ||
| CfgDbLibGetData | ||
| CfgDbLibBuildHob | ||
| CfgDbHobNotify | ||
| CfgDbNotifyCreateDb | ||
| CfgDbLibInitNodeAndRelocate | ||
| CfgDbNotifyGetInfo | ||
| CfgDbNotifyAddRecord | ||
| CfgDbNotifyFindKey | ||
| CfgDbPeimEntry | ||
| ModuleEntryPoint | ||
| Config | Database helper functions | |
| Node | is a UBA_CFG_DB_RECORD; get count from container | |
| DbNode | = (UBA_CFG_DB_NODE )((UINT8 )Record - OFFSET_OF (UBA_CFG_DB_RECORD, ListEntry)); | |
| Check | if DbName is actually a record; resolve to the container node | |
| Record | = (UBA_CFG_DB_RECORD *)DbName; | |
| Update | the database pointer in the original node | |
| CR | (Container Record) macros | |
| Only | adjust if the relocation hasn't been applied yet | |
| if | (Record->Type != (UINT32)(UINTN)NodeBase) { | |
| Not | found as standalone - resolved via PPI pointer | |
| Allocate | copy pool for the data | |
| DataSize | field still set but data=0 - proceed | |
| Copy | the GUID key | |
| CopyMem | (&NewRecord->Guid, Src, sizeof (GUID)); | |
| Insert | into linked list | |
| InsertTailList | (&DbNode->RecordListHead, &NewRecord->ListEntry); | |
| Increment | type counter | |
| Install | notification PPI for the added record | |
| Validate | signature | |
| if | (Record->Signature != UBA_CFG_DB_SIGNATURE) { | |
| Calculate | total HOB size: | |
| HobSize | = sizeof (UBA_CFG_DB_HOB) + DbNode->RecordCount * sizeof (UBA_CFG_DB_HOB_RECORD); | |
| Create | the HOB | |
| HobData | = (UBA_CFG_DB_HOB *)BuildGuidHob (HobGuid, HobSize); | |
| Fill | HOB header | |
| Fill | record array and data payload | |
| HobRecord | = (UBA_CFG_DB_HOB_RECORD )((UINT8 )HobData + sizeof (UBA_CFG_DB_HOB)); | |
| Get | the database node | |
| Record | = (UBA_CFG_DB_RECORD )((UBA_CFG_DB_PPI )Ppi)->Database; | |
| Notify | callbacks for the PPI protocol | |
| EFI_STATUS | EFIAPI | |
| Module | entry point | |
| Allocate | the database node (0x3C = sizeof(UBA_CFG_DB_NODE)) | |
| CfgDbPpi | = (UBA_CFG_DB_PPI *)PeiServicesAllocateZeroPool (sizeof (UBA_CFG_DB_NODE)); | |
| Initialize | the PPI structure | |
| Signature | at offset 0-3 | |
| Version | // Database pointer filled by CfgDbLibInitNodeAndRelocate | |
| Function | table: | |
| PPI | descriptor for installation | |
| NotifyDescriptor | = (UINT32 *)PeiServicesAllocateZeroPool (sizeof (EFI_PEI_PPI_DESCRIPTOR)); | |
| Not | used | |
| Install | the PPI | |
| PeiServices | = GetPeiServices (); | |
| Install | notification PPI for HOB serialization | |
| Status | = ((EFI_PEI_SERVICES )GetPeiServices ())->NotifyPpi (** |
Generated by HR650X BIOS Decompilation Project