Newer
Older
AMI-Aptio-BIOS-Reversed / EsrtDxe / EsrtDxe.h
@Ajax Dong Ajax Dong 2 days ago 8 KB Init
/** @file
  EsrtDxe.h -- Header for EsrtDxe

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __ESRTDXE_H__
#define __ESRTDXE_H__

#include "../uefi_headers/Uefi.h"

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
FreePool(
  VOID
);

EFI_STATUS
EFIAPI
ReadUnaligned64(
  VOID
);

EFI_STATUS
EFIAPI
CompareGuid(
  VOID
);

EFI_STATUS
EFIAPI
GetDebugOutputProtocol(
  VOID
);

EFI_STATUS
EFIAPI
DebugPrint(
  VOID
);

EFI_STATUS
EFIAPI
DebugAssert(
  VOID
);

EFI_STATUS
EFIAPI
EfiInitializeLock(
  VOID
);

EFI_STATUS
EFIAPI
EfiAcquireLock(
  VOID
);

EFI_STATUS
EFIAPI
EfiReleaseLock(
  VOID
);

EFI_STATUS
EFIAPI
EfiGetSystemConfigurationTable(
  VOID
);

EFI_STATUS
EFIAPI
HobLibConstructor(
  VOID
);

EFI_STATUS
EFIAPI
GetEfiVariable(
  VOID
);

EFI_STATUS
EFIAPI
EsrtDxeFindAndCopyEntry(
  VOID
);

EFI_STATUS
EFIAPI
EsrtDxeAppendNonFmpEntry(
  VOID
);

EFI_STATUS
EFIAPI
EsrtDxeDeleteNonFmpEntry(
  VOID
);

EFI_STATUS
EFIAPI
EsrtDxeUpdateRepositoryEntry(
  VOID
);

EFI_STATUS
EFIAPI
EsrtDxeUpdateEntry(
  VOID
);

EFI_STATUS
EFIAPI
EsrtDxeDeleteEntry(
  VOID
);

EFI_STATUS
EFIAPI
EsrtDxeRemoveEntry(
  VOID
);

EFI_STATUS
EFIAPI
EsrtDxeAddEntry(
  VOID
);

EFI_STATUS
EFIAPI
EsrtDxeCopyCollectedEntry(
  VOID
);

EFI_STATUS
EFIAPI
EsrtDxeCollectFmpEntries(
  VOID
);

EFI_STATUS
EFIAPI
EsrtDxeLockVariables(
  VOID
);

EFI_STATUS
EFIAPI
EsrtDxeNotifyInstallEsrtTable(
  VOID
);

EFI_STATUS
EFIAPI
EsrtDxeEntryInit(
  VOID
);

EFI_STATUS
EFIAPI
EsrtDxeRegisterCallbacks(
  VOID
);

EFI_STATUS
EFIAPI
UefiMain(
  VOID
);

EFI_STATUS
EFIAPI
Global Variables(
  VOID
);

EFI_STATUS
EFIAPI
definitions (module-local)(
  VOID
);

EFI_STATUS
EFIAPI
gEfiEsrtTableProtocolGuid      = ESRT_TABLE_PROTOCOL_GUID;(
  VOID
);

EFI_STATUS
EFIAPI
Memory Helpers (Minimal implementations)(
  VOID
);

EFI_STATUS
EFIAPI
+= Length - 1;(
  VOID
);

EFI_STATUS
EFIAPI
Count = Length >> 3;(
  VOID
);

EFI_STATUS
EFIAPI
= Length - 1;(
  VOID
);

EFI_STATUS
EFIAPI
Function Wrappers (from EDK2 libraries)(
  VOID
);

EFI_STATUS
EFIAPI
Helpers(
  VOID
);

EFI_STATUS
EFIAPI
Comparison(
  VOID
);

EFI_STATUS
EFIAPI
Output Support(
  VOID
);

EFI_STATUS
EFIAPI
debug enable via CMOS register 0x4B.(
  VOID
);

EFI_STATUS
EFIAPI
(0x70, __inbyte (0x70) & 0x80 | 0x4B);(
  VOID
);

EFI_STATUS
EFIAPI
debug level(
  VOID
);

EFI_STATUS
EFIAPI
(CmosByte == 0) {(
  VOID
);

EFI_STATUS
EFIAPI
decoded level to standard DEBUG masks.(
  VOID
);

EFI_STATUS
EFIAPI
the protocol's Print routine.(
  VOID
);

EFI_STATUS
EFIAPI
Management (from UefiLib)(
  VOID
);

EFI_STATUS
EFIAPI
Lock->OwnerTpl  = 4;            // Default saved TPL(
  VOID
);

EFI_STATUS
EFIAPI
}(
  VOID
);

EFI_STATUS
EFIAPI
return 0;(
  VOID
);

EFI_STATUS
EFIAPI
gBS->RestoreTPL (OldTpl);(
  VOID
);

EFI_STATUS
EFIAPI
Table Access (from UefiLib)(
  VOID
);

EFI_STATUS
EFIAPI
List Initialization(
  VOID
);

EFI_STATUS
EFIAPI
Access (from UefiLib)(
  VOID
);

EFI_STATUS
EFIAPI
query: get size.(
  VOID
);

EFI_STATUS
EFIAPI
= gRT->GetVariable ((
  VOID
);

EFI_STATUS
EFIAPI
Buffer = AllocatePool (BufferSize);(
  VOID
);

EFI_STATUS
EFIAPI
Repository: Find, Copy, Update, Append, Delete Operations(
  VOID
);

EFI_STATUS
EFIAPI
bytes = 32 entries(
  VOID
);

EFI_STATUS
EFIAPI
// ---------------------------------------------------------------------------(
  VOID
);

EFI_STATUS
EFIAPI
repository alignment.(
  VOID
);

EFI_STATUS
EFIAPI
= RepoSize / ESRT_ENTRY_SIZE;(
  VOID
);

EFI_STATUS
EFIAPI
for matching GUID.(
  VOID
);

EFI_STATUS
EFIAPI
= (UINTN)0x800000000000000EuLL;   // EFI_NOT_FOUND(
  VOID
);

EFI_STATUS
EFIAPI
break;(
  VOID
);

EFI_STATUS
EFIAPI
//(
  VOID
);

EFI_STATUS
EFIAPI
a new variable with single entry.(
  VOID
);

EFI_STATUS
EFIAPI
gRT->SetVariable ((
  VOID
);

EFI_STATUS
EFIAPI
repository.(
  VOID
);

EFI_STATUS
EFIAPI
corrupt variable, then create new with this entry.(
  VOID
);

EFI_STATUS
EFIAPI
is full (1280 bytes / 40 = 32 entries).(
  VOID
);

EFI_STATUS
EFIAPI
(Repository != NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
larger buffer, copy existing, append new entry.(
  VOID
);

EFI_STATUS
EFIAPI
= AllocatePool (RepoSize + ESRT_ENTRY_SIZE);(
  VOID
);

EFI_STATUS
EFIAPI
the entry to delete.(
  VOID
);

EFI_STATUS
EFIAPI
(Index = 0; Index < EntryCount; Index++) {(
  VOID
);

EFI_STATUS
EFIAPI
entries after gap.(
  VOID
);

EFI_STATUS
EFIAPI
(Index < EntryCount - 1) {(
  VOID
);

EFI_STATUS
EFIAPI
updated (smaller) repository.(
  VOID
);

EFI_STATUS
EFIAPI
= gRT->SetVariable ((
  VOID
);

EFI_STATUS
EFIAPI
(&Repository[Index], FwClass, ESRT_ENTRY_SIZE);(
  VOID
);

EFI_STATUS
EFIAPI
found: append if space available.(
  VOID
);

EFI_STATUS
EFIAPI
(RepoSize < ESRT_REPO_MAX) {(
  VOID
);

EFI_STATUS
EFIAPI
larger buffer, append entry.(
  VOID
);

EFI_STATUS
EFIAPI
*NewRepo = AllocatePool (RepoSize + ESRT_ENTRY_SIZE);(
  VOID
);

EFI_STATUS
EFIAPI
Protocol Entry Points(
  VOID
);

EFI_STATUS
EFIAPI
in Non-FMP; try FMP.(
  VOID
);

EFI_STATUS
EFIAPI
(&mNonFmpLock);(
  VOID
);

EFI_STATUS
EFIAPI
in FMP; try Non-FMP.(
  VOID
);

EFI_STATUS
EFIAPI
= EfiAcquireLock (&mNonFmpLock);(
  VOID
);

EFI_STATUS
EFIAPI
Status = EsrtDxeAppendNonFmpEntry (Entry);(
  VOID
);

EFI_STATUS
EFIAPI
Entry Collection(
  VOID
);

EFI_STATUS
EFIAPI
collected entry fields.(
  VOID
);

EFI_STATUS
EFIAPI
firmware type(
  VOID
);

EFI_STATUS
EFIAPI
GUID (from src offset 4).(
  VOID
);

EFI_STATUS
EFIAPI
(&Dest->FwClass, (UINT8 *)Src + 4, sizeof (EFI_GUID));(
  VOID
);

EFI_STATUS
EFIAPI
fields based on descriptor attributes.(
  VOID
);

EFI_STATUS
EFIAPI
(Attributes >= 2) {(
  VOID
);

EFI_STATUS
EFIAPI
buffers per handle.(
  VOID
);

EFI_STATUS
EFIAPI
*FmpImageInfoSizes;(
  VOID
);

EFI_STATUS
EFIAPI
= NULL;(
  VOID
);

EFI_STATUS
EFIAPI
all FMP protocol handles.(
  VOID
);

EFI_STATUS
EFIAPI
= gBS->LocateHandleBuffer ((
  VOID
);

EFI_STATUS
EFIAPI
goto WRITE_REPOSITORY;(
  VOID
);

EFI_STATUS
EFIAPI
workspace arrays.(
  VOID
);

EFI_STATUS
EFIAPI
= AllocateZeroPool (HandleCount * sizeof (UINTN));(
  VOID
);

EFI_STATUS
EFIAPI
goto CLEANUP;(
  VOID
);

EFI_STATUS
EFIAPI
1: Query all FMP protocol instances for image info.(
  VOID
);

EFI_STATUS
EFIAPI
(BufferIndex = 0; BufferIndex < HandleCount; BufferIndex++) {(
  VOID
);

EFI_STATUS
EFIAPI
size.(
  VOID
);

EFI_STATUS
EFIAPI
= 0;(
  VOID
);

EFI_STATUS
EFIAPI
ESRT_ENTRY *InfoBuffer;(
  VOID
);

EFI_STATUS
EFIAPI
2: Collect entries, deduplicating by firmware class GUID.(
  VOID
);

EFI_STATUS
EFIAPI
descriptors for this handle.(
  VOID
);

EFI_STATUS
EFIAPI
descriptor validity flags.(
  VOID
);

EFI_STATUS
EFIAPI
((*(UINT8 *)((UINT8 *)&ImageInfo[DescIndex] + 64) & 8) != 0 &&(
  VOID
);

EFI_STATUS
EFIAPI
for existing entry with same FwClass GUID.(
  VOID
);

EFI_STATUS
EFIAPI
= NumCollected;(
  VOID
);

EFI_STATUS
EFIAPI
(Collected[CollectedIndex].LastAttemptVersion <=(
  VOID
);

EFI_STATUS
EFIAPI
skip append(
  VOID
);

EFI_STATUS
EFIAPI
3: Write collected entries to EsrtFmp variable.(
  VOID
);

EFI_STATUS
EFIAPI
(NumCollected > 0) {(
  VOID
);

EFI_STATUS
EFIAPI
collected entries.(
  VOID
);

EFI_STATUS
EFIAPI
(Index = 0; Index < NumCollected; Index++) {(
  VOID
);

EFI_STATUS
EFIAPI
under lock.(
  VOID
);

EFI_STATUS
EFIAPI
= EfiAcquireLock (&mFmpLock);(
  VOID
);

EFI_STATUS
EFIAPI
+ BS + RT(
  VOID
);

EFI_STATUS
EFIAPI
all allocated buffers.(
  VOID
);

EFI_STATUS
EFIAPI
(HandleBuffer != NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
Lock (ReadyToBoot / VirtualAddressChange callback)(
  VOID
);

EFI_STATUS
EFIAPI
the Variable Lock protocol.(
  VOID
);

EFI_STATUS
EFIAPI
= gBS->LocateProtocol ((
  VOID
);

EFI_STATUS
EFIAPI
Notification: Build & Install ESRT Configuration Table(
  VOID
);

EFI_STATUS
EFIAPI
1: Read Non-FMP repository (under lock).(
  VOID
);

EFI_STATUS
EFIAPI
2: Read FMP repository (under lock).(
  VOID
);

EFI_STATUS
EFIAPI
3: Build and install combined ESRT table.(
  VOID
);

EFI_STATUS
EFIAPI
= NonFmpEntryCount + FmpEntryCount;(
  VOID
);

EFI_STATUS
EFIAPI
= AllocateZeroPool (TotalEntries * ESRT_ENTRY_SIZE + 16);(
  VOID
);

EFI_STATUS
EFIAPI
header fields:(
  VOID
);

EFI_STATUS
EFIAPI
(NonFmpSize > 0 && NonFmpRepository != NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
configuration table.(
  VOID
);

EFI_STATUS
EFIAPI
the context event (may be a notification registration).(
  VOID
);

EFI_STATUS
EFIAPI
Initialization(
  VOID
);

EFI_STATUS
EFIAPI
globals.(
  VOID
);

EFI_STATUS
EFIAPI
HOB list.(
  VOID
);

EFI_STATUS
EFIAPI
();(
  VOID
);

EFI_STATUS
EFIAPI
DxeServicesTable.(
  VOID
);

EFI_STATUS
EFIAPI
= EfiGetSystemConfigurationTable ((
  VOID
);

EFI_STATUS
EFIAPI
locks.(
  VOID
);

EFI_STATUS
EFIAPI
(&mFmpLock);(
  VOID
);

EFI_STATUS
EFIAPI
ReadyToBoot event -> build ESRT table.(
  VOID
);

EFI_STATUS
EFIAPI
= gBS->CreateEventEx ((
  VOID
);

EFI_STATUS
EFIAPI
VirtualAddressChange event -> lock variables.(
  VOID
);

EFI_STATUS
EFIAPI
protocol interfaces and FMP protocol notify.(
  VOID
);

EFI_STATUS
EFIAPI
= gBS->InstallProtocolInterface ((
  VOID
);

EFI_STATUS
EFIAPI
the decompiled output; it is stored in an init data(
  VOID
);

EFI_STATUS
EFIAPI
(off_2470).(
  VOID
);

EFI_STATUS
EFIAPI
(UefiMain)(
  VOID
);

#endif /* __ESRTDXE_H__ */