Newer
Older
AMI-Aptio-BIOS-Reversed / ServerCommonPkg / Universal / GetSec / Dxe / TxtDxe / TxtDxe.h
@Ajax Dong Ajax Dong 2 days ago 16 KB Restructure the repo
/** @file
  TxtDxe.h -- Header for TxtDxe

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __TXTDXE_H__
#define __TXTDXE_H__

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

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
TxtDxeLaunchBiosAcm(
  VOID
);

EFI_STATUS
EFIAPI
DebugPrint(
  VOID
);

EFI_STATUS
EFIAPI
AssertBreak(
  VOID
);

EFI_STATUS
EFIAPI
GetPlatformConfigVariable(
  VOID
);

EFI_STATUS
EFIAPI
SetPlatformConfigVariable(
  VOID
);

EFI_STATUS
EFIAPI
IsLtProcessor(
  VOID
);

EFI_STATUS
EFIAPI
IsBiosAcmSuccessful(
  VOID
);

EFI_STATUS
EFIAPI
IsTxtEnabled(
  VOID
);

EFI_STATUS
EFIAPI
LocateTxtDeviceMemoryPolicy(
  VOID
);

EFI_STATUS
EFIAPI
LocateTxtPlatformPolicy(
  VOID
);

EFI_STATUS
EFIAPI
GetMpTableApicIds(
  VOID
);

EFI_STATUS
EFIAPI
ConfigureMachineCheckBanks(
  VOID
);

EFI_STATUS
EFIAPI
GetLtDxeLibSetupOption(
  VOID
);

EFI_STATUS
EFIAPI
GetAcmErrorType(
  VOID
);

EFI_STATUS
EFIAPI
HandleAcmError(
  VOID
);

EFI_STATUS
EFIAPI
ClearLtTpmCmosState(
  VOID
);

EFI_STATUS
EFIAPI
ApplyTxtPolicyToPlatformConfig(
  VOID
);

EFI_STATUS
EFIAPI
RegisterForScheckLockConfigCallback(
  VOID
);

EFI_STATUS
EFIAPI
CloseS3BootScriptResources(
  VOID
);

EFI_STATUS
EFIAPI
InstallTxtDxeProtocol(
  VOID
);

EFI_STATUS
EFIAPI
PlatformLaunchBiosAcm(
  VOID
);

EFI_STATUS
EFIAPI
InitializeLtDxeLib(
  VOID
);

EFI_STATUS
EFIAPI
DriverInit(
  VOID
);

EFI_STATUS
EFIAPI
TxtDxeMain(
  VOID
);

EFI_STATUS
EFIAPI
TxtDxeCleanup(
  VOID
);

EFI_STATUS
EFIAPI
TxtDxeUnload(
  VOID
);

EFI_STATUS
EFIAPI
_ModuleEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
Variables(
  VOID
);

/// populated by DriverInit (sub_47C)
EFI_STATUS
EFIAPI
core handles(
  VOID
);

EFI_STATUS
EFIAPI
gImageHandle       = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
PCI User Access (DxeMmPciBaseLib)(
  VOID
);

EFI_STATUS
EFIAPI
and database pointers(
  VOID
);

EFI_STATUS
EFIAPI
*mPcdProtocol              = NULL;  // PCD Protocol(
  VOID
);

EFI_STATUS
EFIAPI
list (DxeHobLib)(
  VOID
);

EFI_STATUS
EFIAPI
print protocol (gEfiDebugPortProtocolGuid)(
  VOID
);

EFI_STATUS
EFIAPI
Communication protocol(
  VOID
);

EFI_STATUS
EFIAPI
Base2 protocol(
  VOID
);

EFI_STATUS
EFIAPI
LockBox protocol(
  VOID
);

EFI_STATUS
EFIAPI
SMM Communication protocol(
  VOID
);

/// populated from platform HOBs
EFI_STATUS
EFIAPI
policy data pointers(
  VOID
);

EFI_STATUS
EFIAPI
*mTxtDeviceMemoryPolicy  = NULL;  // gEfiPlatformTxtDeviceMemoryGuid(
  VOID
);

EFI_STATUS
EFIAPI
//(
  VOID
);

EFI_STATUS
EFIAPI
/ wake-up state(
  VOID
);

EFI_STATUS
EFIAPI
mApCount        = 0;       // Number of enabled APs (from MP services)(
  VOID
);

EFI_STATUS
EFIAPI
vector for AP wake-up(
  VOID
);

EFI_STATUS
EFIAPI
ID table populated from MP services(
  VOID
);

EFI_STATUS
EFIAPI
state tracking(
  VOID
);

EFI_STATUS
EFIAPI
mBiosAcmCalled      = FALSE;(
  VOID
);

EFI_STATUS
EFIAPI
DXE Protocol instance(
  VOID
);

EFI_STATUS
EFIAPI
gTxtDxeProtocol;(
  VOID
);

EFI_STATUS
EFIAPI
declarations of local functions(
  VOID
);

EFI_STATUS
EFIAPI
EFIAPI(
  VOID
);

EFI_STATUS
EFIAPI
helper prototypes that are linked from other compilation units:(
  VOID
);

EFI_STATUS
EFIAPI
Print and Assert Helpers(
  VOID
);

EFI_STATUS
EFIAPI
TPL to avoid re-entrancy during protocol lookup(
  VOID
);

EFI_STATUS
EFIAPI
= gBootServices->RaiseTPL (TPL_NOTIFY);(
  VOID
);

EFI_STATUS
EFIAPI
CMOS byte 0x4B for the platform debug level.(
  VOID
);

EFI_STATUS
EFIAPI
debug level indicates this message should be printed, do so.(
  VOID
);

EFI_STATUS
EFIAPI
DebugLevel;(
  VOID
);

EFI_STATUS
EFIAPI
if this error level should be displayed(
  VOID
);

EFI_STATUS
EFIAPI
= 0;(
  VOID
);

EFI_STATUS
EFIAPI
}(
  VOID
);

EFI_STATUS
EFIAPI
Library Protocol Locators(
  VOID
);

EFI_STATUS
EFIAPI
wrapper(
  VOID
);

EFI_STATUS
EFIAPI
that the copy range does not overflow UINTN(
  VOID
);

EFI_STATUS
EFIAPI
((Length - 1) > (UINTN)(-1) - (UINTN)Destination) {(
  VOID
);

EFI_STATUS
EFIAPI
Configuration / UEFI Variable Helpers(
  VOID
);

EFI_STATUS
EFIAPI
(LaGrande Technology / TXT) Feature Checks(
  VOID
);

EFI_STATUS
EFIAPI
feature MSR(
  VOID
);

EFI_STATUS
EFIAPI
TXT Policy HOB Access(
  VOID
);

EFI_STATUS
EFIAPI
HOB data starts after the GUID extension header(
  VOID
);

EFI_STATUS
EFIAPI
= (TXT_DEVICE_MEMORY_POLICY *)((UINT8 *)Hob + sizeof (EFI_HOB_GUID_TYPE));(
  VOID
);

EFI_STATUS
EFIAPI
Wake-up Vector and APIC Setup(
  VOID
);

EFI_STATUS
EFIAPI
for the MP floating pointer structure in the BIOS ROM area(
  VOID
);

EFI_STATUS
EFIAPI
table not found; fall back to allocating a wake-up buffer(
  VOID
);

EFI_STATUS
EFIAPI
a fixed address.(
  VOID
);

EFI_STATUS
EFIAPI
MP table found; allocate a 0xFFFFF-sized page-aligned buffer(
  VOID
);

EFI_STATUS
EFIAPI
the wake-up vector.(
  VOID
);

EFI_STATUS
EFIAPI
WakeUpBuffer;(
  VOID
);

EFI_STATUS
EFIAPI
table found; configure the wake-up vector from the MP config table(
  VOID
);

EFI_STATUS
EFIAPI
*MpServices;(
  VOID
);

EFI_STATUS
EFIAPI
MP services to get APIC IDs(
  VOID
);

EFI_STATUS
EFIAPI
up the wake-up buffer: write the magic value.(
  VOID
);

EFI_STATUS
EFIAPI
WakeUpBuffer address is stored in mApWakeUpVector.(
  VOID
);

EFI_STATUS
EFIAPI
*WakeUpBuffer;(
  VOID
);

EFI_STATUS
EFIAPI
number for SIPI(
  VOID
);

EFI_STATUS
EFIAPI
Launch Support(
  VOID
);

EFI_STATUS
EFIAPI
original MC9-MC11 control values and mask out bit 7 (EN)(
  VOID
);

EFI_STATUS
EFIAPI
= (UINT32)AsmReadMsr64 (MSR_IA32_MC9_CTL);(
  VOID
);

EFI_STATUS
EFIAPI
save IA32_MCG_CONTAIN if MCG_CMCP (bit 24) is set(
  VOID
);

EFI_STATUS
EFIAPI
((AsmReadMsr64 (MSR_IA32_MCG_CAP) & 0x1000000) != 0) {(
  VOID
);

EFI_STATUS
EFIAPI
new values with EN bit cleared(
  VOID
);

EFI_STATUS
EFIAPI
(DEBUG_INFO, "Ia32_Mc9_Ctl_New  = 0x%08x\n", Mc9CtlOrig & ~0x80);(
  VOID
);

EFI_STATUS
EFIAPI
(DEBUG_INFO, "Write Ia32_Mc9_Ctl_Org  = 0x%08x\n", Mc9CtlOrig);(
  VOID
);

EFI_STATUS
EFIAPI
IA32_MCG_CONTAIN if saved(
  VOID
);

EFI_STATUS
EFIAPI
(McgContainValid) {(
  VOID
);

EFI_STATUS
EFIAPI
1: Disable MC9-MC11 machine check banks(
  VOID
);

EFI_STATUS
EFIAPI
(1);(
  VOID
);

EFI_STATUS
EFIAPI
2: If APs exist, send SIPI to start them (required for SINIT)(
  VOID
);

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

EFI_STATUS
EFIAPI
INIT IPI to all (including self)(
  VOID
);

EFI_STATUS
EFIAPI
();(
  VOID
);

EFI_STATUS
EFIAPI
3: Debug log and raise TPL(
  VOID
);

EFI_STATUS
EFIAPI
(DEBUG_INFO, "LtDxeLibLaunchBiosAcm: BiosAcmAddress = 0x%08x\n", BiosAcmAddress);(
  VOID
);

EFI_STATUS
EFIAPI
4: Call the platform-specific BIOS ACM launch routine.(
  VOID
);

EFI_STATUS
EFIAPI
is a raw assembly routine (sub_4700) that:(
  VOID
);

EFI_STATUS
EFIAPI
ACM then executes in a special environment and returns(
  VOID
);

EFI_STATUS
EFIAPI
via the LT.SPAD.HIGH register.(
  VOID
);

EFI_STATUS
EFIAPI
(DEBUG_INFO, "LtDxeLibLaunchBiosAcm: Calling LaunchBiosAcm()\n");(
  VOID
);

EFI_STATUS
EFIAPI
5: Restore TPL and machine check banks(
  VOID
);

EFI_STATUS
EFIAPI
(DEBUG_INFO, "LtDxeLibLaunchBiosAcm: Restoring TPL\n");(
  VOID
);

EFI_STATUS
EFIAPI
6: Send SIPI to wake APs after ACM(
  VOID
);

EFI_STATUS
EFIAPI
MC banks to original state(
  VOID
);

EFI_STATUS
EFIAPI
(0);(
  VOID
);

EFI_STATUS
EFIAPI
Error Handling(
  VOID
);

EFI_STATUS
EFIAPI
lib enable/disable option(
  VOID
);

EFI_STATUS
EFIAPI
error handling type(
  VOID
);

EFI_STATUS
EFIAPI
if LtDxeLib functions are installed(
  VOID
);

EFI_STATUS
EFIAPI
(!GetLtDxeLibSetupOption (&LtDxeLibInstalled) && LtDxeLibInstalled) {(
  VOID
);

/// just log
EFI_STATUS
EFIAPI
setup is configured to ignore ACM errors(
  VOID
);

EFI_STATUS
EFIAPI
(GetAcmErrorType (&AcmType)) {(
  VOID
);

EFI_STATUS
EFIAPI
failure is fatal: clear LT/TPM state and reset(
  VOID
);

EFI_STATUS
EFIAPI
(DEBUG_ERROR, "Bios Acm Failed. Reboot in non-ltsx mode\n");(
  VOID
);

EFI_STATUS
EFIAPI
a system reset via runtime services(
  VOID
);

EFI_STATUS
EFIAPI
"AcmError" variable to record the failure(
  VOID
);

EFI_STATUS
EFIAPI
= 1;(
  VOID
);

EFI_STATUS
EFIAPI
LT enable bits in SocketProcessorCoreConfig(
  VOID
);

EFI_STATUS
EFIAPI
= sizeof (Buffer);(
  VOID
);

EFI_STATUS
EFIAPI
storage size(
  VOID
);

EFI_STATUS
EFIAPI
LT/TPM enable field(
  VOID
);

EFI_STATUS
EFIAPI
related field(
  VOID
);

EFI_STATUS
EFIAPI
policy byte in platform config(
  VOID
);

EFI_STATUS
EFIAPI
/ S3 Boot Script Support(
  VOID
);

EFI_STATUS
EFIAPI
a SMM communication command for Scheck/LockConfig registration(
  VOID
);

EFI_STATUS
EFIAPI
(DEBUG_INFO, "Register for Scheck/LockConfig Callback\n");(
  VOID
);

EFI_STATUS
EFIAPI
Boot Script Save(
  VOID
);

EFI_STATUS
EFIAPI
Boot Script Table Write if opened(
  VOID
);

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

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

EFI_STATUS
EFIAPI
SMM; close SMM communication protocol(
  VOID
);

EFI_STATUS
EFIAPI
(((EFI_SMM_BASE2_PROTOCOL *)mSmmBase2Protocol)->Communicate ((
  VOID
);

EFI_STATUS
EFIAPI
SMM ready-to-lock flag and close SMM Base2(
  VOID
);

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

EFI_STATUS
EFIAPI
DXE Protocol Installation(
  VOID
);

EFI_STATUS
EFIAPI
if protocol is already installed(
  VOID
);

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

EFI_STATUS
EFIAPI
up the protocol instance(
  VOID
);

EFI_STATUS
EFIAPI
the protocol(
  VOID
);

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

EFI_STATUS
EFIAPI
the protocol was installed correctly by locating it again(
  VOID
);

EFI_STATUS
EFIAPI
= NULL;(
  VOID
);

/// sub_4700
EFI_STATUS
EFIAPI
ACM Launch (Assembly Wrapper)(
  VOID
);

EFI_STATUS
EFIAPI
function is implemented in assembly (sub_4700). The equivalent C(
  VOID
);

EFI_STATUS
EFIAPI
is documented here for reference:(
  VOID
);

EFI_STATUS
EFIAPI
GdtBackup[2];   // GDT limit + base(
  VOID
);

EFI_STATUS
EFIAPI
IdtBackup[2];   // IDT limit + base(
  VOID
);

EFI_STATUS
EFIAPI
Cr0, Cr3, Cr4;(
  VOID
);

EFI_STATUS
EFIAPI
(Flags != 0) {(
  VOID
);

EFI_STATUS
EFIAPI
(&GdtBackup);(
  VOID
);

EFI_STATUS
EFIAPI
(&IdtBackup);(
  VOID
);

EFI_STATUS
EFIAPI
MCG_CAP MTRR state(
  VOID
);

EFI_STATUS
EFIAPI
= AsmReadCr4 ();(
  VOID
);

EFI_STATUS
EFIAPI
(Cr4 | 0x4208);  // Enable MCE, OSFXSR, OSXMMEXCPT(
  VOID
);

EFI_STATUS
EFIAPI
= AsmReadCr0 ();(
  VOID
);

EFI_STATUS
EFIAPI
((Cr0 & 0x9FFFFFDF) | 0x40000020);  // Set EM, MP; clear NE, TS, EM?(
  VOID
);

EFI_STATUS
EFIAPI
(Flags != 0)  Wbinvd ();(
  VOID
);

EFI_STATUS
EFIAPI
Invd ();(
  VOID
);

EFI_STATUS
EFIAPI
(0x2FF, 0);  // Disable MTRRs(
  VOID
);

EFI_STATUS
EFIAPI
all MTRR pairs(
  VOID
);

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

EFI_STATUS
EFIAPI
(0x200 + Index*2,     0);  // MTRR_PHYSBASE(
  VOID
);

EFI_STATUS
EFIAPI
(0x200 + Index*2 + 1, 0);  // MTRR_PHYSMASK(
  VOID
);

EFI_STATUS
EFIAPI
up MTRRs for ACM memory range(
  VOID
);

EFI_STATUS
EFIAPI
(Remaining = AcmSize; Remaining > 0; ) {(
  VOID
);

EFI_STATUS
EFIAPI
largest power-of-two aligned region(
  VOID
);

EFI_STATUS
EFIAPI
= MtrrIndex++;(
  VOID
);

EFI_STATUS
EFIAPI
(0x200 + Reg*2,     AcmBase | 6);  // WB(
  VOID
);

EFI_STATUS
EFIAPI
(0x200 + Reg*2 + 1, ~(Size-1) | 0xF00000800);(
  VOID
);

EFI_STATUS
EFIAPI
+= Size;(
  VOID
);

EFI_STATUS
EFIAPI
-= Size;(
  VOID
);

EFI_STATUS
EFIAPI
(0x2FF, 0x800);  // Enable MTRRs(
  VOID
);

EFI_STATUS
EFIAPI
(0x17B, 0);       // Clear MCG_CTL(
  VOID
);

EFI_STATUS
EFIAPI
all machine check banks(
  VOID
);

EFI_STATUS
EFIAPI
(Bank = 0; Bank < McgBankCount; Bank++) {(
  VOID
);

EFI_STATUS
EFIAPI
(0x400 + Bank*4 + 1, 0);  // MCi_STATUS(
  VOID
);

EFI_STATUS
EFIAPI
return to ACM entry point(
  VOID
);

EFI_STATUS
EFIAPI
(BiosAcmAddress, 0x08);  // Code segment selector(
  VOID
);

EFI_STATUS
EFIAPI
-- sub_DD0(
  VOID
);

EFI_STATUS
EFIAPI
ImageHandle and SystemTable globally (also set in DriverInit)(
  VOID
);

EFI_STATUS
EFIAPI
= ImageHandle;(
  VOID
);

EFI_STATUS
EFIAPI
access to CMOS: clear NMI disable bit on port 0x70(
  VOID
);

EFI_STATUS
EFIAPI
(0x70, IoRead8 (0x530) & 0xBF);(
  VOID
);

EFI_STATUS
EFIAPI
the SMM Communication protocol for S3 boot script support(
  VOID
);

EFI_STATUS
EFIAPI
the MP Services protocol for AP management(
  VOID
);

EFI_STATUS
EFIAPI
if TXT is supported on this platform via PCD(
  VOID
);

EFI_STATUS
EFIAPI
TXT device memory policy from HOB(
  VOID
);

EFI_STATUS
EFIAPI
= LocateTxtDeviceMemoryPolicy ();(
  VOID
);

EFI_STATUS
EFIAPI
TXT platform policy from HOB(
  VOID
);

EFI_STATUS
EFIAPI
= LocateTxtPlatformPolicy ();(
  VOID
);

EFI_STATUS
EFIAPI
that the BIOS ACM address is configured(
  VOID
);

EFI_STATUS
EFIAPI
(mTxtPlatformPolicy->BiosAcmAddress == 0) {(
  VOID
);

EFI_STATUS
EFIAPI
MP services info: number of processors(
  VOID
);

EFI_STATUS
EFIAPI
= MpServices->GetNumberOfProcessors (MpServices, &mApCount, NULL);(
  VOID
);

EFI_STATUS
EFIAPI
includes the BSP; subtract 1 to get AP count(
  VOID
);

EFI_STATUS
EFIAPI
there are APs, get their APIC IDs and set up the wake-up vector(
  VOID
);

EFI_STATUS
EFIAPI
each AP for its APIC ID via GetProcessorInfo(
  VOID
);

EFI_STATUS
EFIAPI
= GetMpTableApicIds (&mApCount, ApicIds);(
  VOID
);

EFI_STATUS
EFIAPI
and log each APIC ID(
  VOID
);

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

EFI_STATUS
EFIAPI
Point and Driver Init(
  VOID
);

EFI_STATUS
EFIAPI
protocol pointers(
  VOID
);

EFI_STATUS
EFIAPI
the DXE Services Table via the protocol database(
  VOID
);

EFI_STATUS
EFIAPI
= SystemTable->BootServices->LocateProtocol ((
  VOID
);

EFI_STATUS
EFIAPI
the MM PCI User Access protocol (DxeMmPciBaseLib)(
  VOID
);

EFI_STATUS
EFIAPI
(mPciUsra == NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
HOB list(
  VOID
);

EFI_STATUS
EFIAPI
PCD protocol and enable MTRR for SINIT if not already enabled(
  VOID
);

EFI_STATUS
EFIAPI
if LT (TXT) is supported on this CPU(
  VOID
);

EFI_STATUS
EFIAPI
= IsLtProcessor ();(
  VOID
);

EFI_STATUS
EFIAPI
loop: read/write timer counter to wait for hardware stabilization(
  VOID
);

EFI_STATUS
EFIAPI
= IoRead8 (0x70) & 0x80 | 0x4B;  // CMOS offset 0x4B, NMI preserved(
  VOID
);

EFI_STATUS
EFIAPI
value(
  VOID
);

EFI_STATUS
EFIAPI
until delta >= 357(
  VOID
);

EFI_STATUS
EFIAPI
LT configuration if it was modified during the delay(
  VOID
);

EFI_STATUS
EFIAPI
(LtEnabled) {(
  VOID
);

EFI_STATUS
EFIAPI
initialization step (AutoGen.c line 495)(
  VOID
);

EFI_STATUS
EFIAPI
= FinalInitStep ();(
  VOID
);

/// original sub_AA8
EFI_STATUS
EFIAPI
Driver Entry Dispatch(
  VOID
);

EFI_STATUS
EFIAPI
1: Register for Scheck/LockConfig callback (SMM)(
  VOID
);

EFI_STATUS
EFIAPI
2: Initialize the TXT DXE library (HOBs, protocols, APIC table)(
  VOID
);

EFI_STATUS
EFIAPI
= InitializeLtDxeLib (ImageHandle, SystemTable);(
  VOID
);

EFI_STATUS
EFIAPI
3: Apply TXT policy from HOB to platform configuration(
  VOID
);

EFI_STATUS
EFIAPI
15 of the HOB data(
  VOID
);

EFI_STATUS
EFIAPI
4: Check if this is an LT-enabled processor(
  VOID
);

/// proceed with ACM launch
EFI_STATUS
EFIAPI
5: LT-enabled processor(
  VOID
);

EFI_STATUS
EFIAPI
(!IsTxtEnabled ()) {(
  VOID
);

EFI_STATUS
EFIAPI
not enabled, fall through to non-TXT path(
  VOID
);

EFI_STATUS
EFIAPI
= EFI_UNSUPPORTED;(
  VOID
);

/// check ACM result
EFI_STATUS
EFIAPI
is enabled(
  VOID
);

EFI_STATUS
EFIAPI
(DEBUG_INFO, "LT_SPAD_HIGH (0xFED300A4): %r\n"(
  VOID
);

/// install protocol
EFI_STATUS
EFIAPI
completed successfully (or no error)(
  VOID
);

EFI_STATUS
EFIAPI
(DEBUG_ERROR, "Install TXT_DXE_PROTOCOL...\n");(
  VOID
);

/// handle according to BIOS setup policy
EFI_STATUS
EFIAPI
failed(
  VOID
);

EFI_STATUS
EFIAPI
(*(UINT32 *)TXT_SPAD_HIGH_REG);(
  VOID
);

EFI_STATUS
EFIAPI
we get here, LT is not enabled or ACM failed(
  VOID
);

EFI_STATUS
EFIAPI
(DEBUG_ERROR, "Lt not enabled\n");(
  VOID
);

EFI_STATUS
EFIAPI
to close S3 boot script resources for a clean state(
  VOID
);

/// close S3 boot script resources
EFI_STATUS
EFIAPI
not resetting(
  VOID
);

EFI_STATUS
EFIAPI
= TxtDxeCleanup ();(
  VOID
);

/// sub_2FEC / sub_748 equivalent
EFI_STATUS
EFIAPI
Unload Handler(
  VOID
);

/// _ModuleEntryPoint
EFI_STATUS
EFIAPI
Entry Point(
  VOID
);

EFI_STATUS
EFIAPI
1: Initialize UEFI core protocols and driver globals(
  VOID
);

EFI_STATUS
EFIAPI
= DriverInit (ImageHandle, SystemTable);(
  VOID
);

EFI_STATUS
EFIAPI
2: Execute TXT-specific initialization(
  VOID
);

EFI_STATUS
EFIAPI
= TxtDxeMain (ImageHandle, SystemTable);(
  VOID
);

EFI_STATUS
EFIAPI
3: If initialization failed, perform cleanup via unload handler(
  VOID
);

EFI_STATUS
EFIAPI
(EFI_ERROR (Status)) {(
  VOID
);

#endif /* __TXTDXE_H__ */