Newer
Older
AMI-Aptio-BIOS-Reversed / AmiModulePkg / TCG2 / Common / Tpm20Acpi / Tpm20Acpi.h
@Ajax Dong Ajax Dong 2 days ago 7 KB Full restructure
/** @file
  Tpm20Acpi.h -- Header for Tpm20Acpi

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __TPM20ACPI_H__
#define __TPM20ACPI_H__

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

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
ReadUnaligned64(
  VOID
);

EFI_STATUS
EFIAPI
IsHobGuidEqual(
  VOID
);

EFI_STATUS
EFIAPI
IoWrite16(
  VOID
);

EFI_STATUS
EFIAPI
IoRead32(
  VOID
);

EFI_STATUS
EFIAPI
ReadTimestampCounter(
  VOID
);

EFI_STATUS
EFIAPI
ReadCallerEflags(
  VOID
);

EFI_STATUS
EFIAPI
CpuPause(
  VOID
);

EFI_STATUS
EFIAPI
EnableInterrupts(
  VOID
);

EFI_STATUS
EFIAPI
DisableInterrupts(
  VOID
);

EFI_STATUS
EFIAPI
InitializeAcpiSupport(
  VOID
);

EFI_STATUS
EFIAPI
GetHobList(
  VOID
);

EFI_STATUS
EFIAPI
AssertHandler(
  VOID
);

EFI_STATUS
EFIAPI
DebugPrint(
  VOID
);

EFI_STATUS
EFIAPI
InitializeUefiBootServicesTable(
  VOID
);

EFI_STATUS
EFIAPI
PcdGet32(
  VOID
);

EFI_STATUS
EFIAPI
PcdSet32(
  VOID
);

EFI_STATUS
EFIAPI
AsciiStrLen(
  VOID
);

EFI_STATUS
EFIAPI
LibGetDsdt(
  VOID
);

EFI_STATUS
EFIAPI
AcpiAmlWriteInteger(
  VOID
);

EFI_STATUS
EFIAPI
IsTpmHwPresent(
  VOID
);

EFI_STATUS
EFIAPI
GetTpmInterfaceType(
  VOID
);

EFI_STATUS
EFIAPI
IsTpmAvailable(
  VOID
);

EFI_STATUS
EFIAPI
PciExpressRead(
  VOID
);

EFI_STATUS
EFIAPI
Tpm20AcpiInitEntry(
  VOID
);

EFI_STATUS
EFIAPI
ModuleEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
variables - UEFI boot/runtime services(
  VOID
);

EFI_STATUS
EFIAPI
gImageHandle = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
global variables(
  VOID
);

EFI_STATUS
EFIAPI
mHobList        = 0;  ///< HOB list pointer (cached)(
  VOID
);

EFI_STATUS
EFIAPI
(internal) function prototypes(
  VOID
);

EFI_STATUS
EFIAPI
Boot Services Table Library initialization(
  VOID
);

EFI_STATUS
EFIAPI
Operations(
  VOID
);

EFI_STATUS
EFIAPI
with Source before Destination: copy backwards(
  VOID
);

EFI_STATUS
EFIAPI
(Dst, Source, Length);(
  VOID
);

EFI_STATUS
EFIAPI
= Length;(
  VOID
);

EFI_STATUS
EFIAPI
and string operations(
  VOID
);

EFI_STATUS
EFIAPI
PM1a_CNT.SLP_TYPx + SLP_EN(
  VOID
);

EFI_STATUS
EFIAPI
locator helpers(
  VOID
);

EFI_STATUS
EFIAPI
5 pages for ACPI tables(
  VOID
);

EFI_STATUS
EFIAPI
list management(
  VOID
);

EFI_STATUS
EFIAPI
of HOB list(
  VOID
);

EFI_STATUS
EFIAPI
NULL;(
  VOID
);

EFI_STATUS
EFIAPI
and Debug(
  VOID
);

EFI_STATUS
EFIAPI
CMOS index 0x4B to determine debug routing(
  VOID
);

EFI_STATUS
EFIAPI
= __inbyte (0x70);(
  VOID
);

EFI_STATUS
EFIAPI
Locator(
  VOID
);

EFI_STATUS
EFIAPI
cache first(
  VOID
);

EFI_STATUS
EFIAPI
(mDsdtAddr != 0 && mXsdtDsdtAddr != 0) {(
  VOID
);

EFI_STATUS
EFIAPI
ACPI Support protocol(
  VOID
);

EFI_STATUS
EFIAPI
= GetAcpiSupportProtocol ();(
  VOID
);

EFI_STATUS
EFIAPI
the RSDT/XSDT table(
  VOID
);

EFI_STATUS
EFIAPI
= 0;(
  VOID
);

EFI_STATUS
EFIAPI
for RSDT (1.0b) or XSDT (2.0+)(
  VOID
);

EFI_STATUS
EFIAPI
(*(UINT32 *)Table == EFI_ACPI_RSDT_SIGNATURE) {(
  VOID
);

EFI_STATUS
EFIAPI
found - search for DSDT pointer(
  VOID
);

EFI_STATUS
EFIAPI
= (*(UINT32 *)((UINT8 *)Table + 4) - sizeof (EFI_ACPI_DESCRIPTION_HEADER)) / sizeof (UINT32);(
  VOID
);

EFI_STATUS
EFIAPI
= (*(UINT32 *)((UINT8 *)Table + 4) - sizeof (EFI_ACPI_DESCRIPTION_HEADER)) / sizeof (UINT64);(
  VOID
);

EFI_STATUS
EFIAPI
if we couldn't find DSDT(
  VOID
);

EFI_STATUS
EFIAPI
(mDsdtAddr == 0 && mXsdtDsdtAddr == 0) {(
  VOID
);

EFI_STATUS
EFIAPI
AML Write Helper(
  VOID
);

EFI_STATUS
EFIAPI
for the signature in the DSDT(
  VOID
);

EFI_STATUS
EFIAPI
(Offset = FoundOffset; Offset < DsdtSize; Offset += 4) {(
  VOID
);

EFI_STATUS
EFIAPI
the AML NameString prefix before the signature(
  VOID
);

EFI_STATUS
EFIAPI
= (UINT8 *)(DsdtBase + FoundOffset - 1);(
  VOID
);

EFI_STATUS
EFIAPI
past this match and search again(
  VOID
);

EFI_STATUS
EFIAPI
-= FoundOffset + 4;(
  VOID
);

EFI_STATUS
EFIAPI
the value based on the AML opcode after the signature(
  VOID
);

EFI_STATUS
EFIAPI
(*(BytePtr + 4)) {(
  VOID
);

EFI_STATUS
EFIAPI
ZeroOp/OneOp with the value(
  VOID
);

EFI_STATUS
EFIAPI
(Value > 1) {(
  VOID
);

EFI_STATUS
EFIAPI
Hardware Detection(
  VOID
);

EFI_STATUS
EFIAPI
Express MMIO access(
  VOID
);

EFI_STATUS
EFIAPI
TPM ACPI Initialization(
  VOID
);

EFI_STATUS
EFIAPI
DSDT(
  VOID
);

EFI_STATUS
EFIAPI
= LibGetDsdt (&DsdtAddr);(
  VOID
);

EFI_STATUS
EFIAPI
ACPI tables(
  VOID
);

EFI_STATUS
EFIAPI
();(
  VOID
);

EFI_STATUS
EFIAPI
TPM hardware availability(
  VOID
);

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

EFI_STATUS
EFIAPI
TPM: set defaults(
  VOID
);

EFI_STATUS
EFIAPI
TPM(
  VOID
);

EFI_STATUS
EFIAPI
no-TPM configuration to DSDT(
  VOID
);

EFI_STATUS
EFIAPI
= AcpiAmlWriteInteger (DsdtAddr, MAX_UINT32, SIGNATURE_AMDT, 0);(
  VOID
);

EFI_STATUS
EFIAPI
"TPMM" with default stolen address (no TPM)(
  VOID
);

EFI_STATUS
EFIAPI
= AcpiAmlWriteInteger (DsdtAddr, MAX_UINT32, SIGNATURE_TPMM, 0xFED00000);(
  VOID
);

EFI_STATUS
EFIAPI
is available - write TPMF=1(
  VOID
);

EFI_STATUS
EFIAPI
= AcpiAmlWriteInteger (DsdtAddr, MAX_UINT32, SIGNATURE_TPMF, 1);(
  VOID
);

EFI_STATUS
EFIAPI
if TPM has active interface(
  VOID
);

EFI_STATUS
EFIAPI
(MEMORY[TPM_REG_BASE + TPM_CTRL_AREA_OFFSET] == 0xFFFFFFFF) {(
  VOID
);

EFI_STATUS
EFIAPI
with no active interface (TPP mode)(
  VOID
);

EFI_STATUS
EFIAPI
= 7;(
  VOID
);

EFI_STATUS
EFIAPI
CtrlAreaMap registers(
  VOID
);

EFI_STATUS
EFIAPI
((DEBUG_INFO, "CtrlAreaMap->Error = %x \n", MEMORY[TPM_REG_BASE + TPM_CTRL_ERROR]));(
  VOID
);

EFI_STATUS
EFIAPI
"DTPT" with 1(
  VOID
);

EFI_STATUS
EFIAPI
= AcpiAmlWriteInteger (DsdtAddr, MAX_UINT32, SIGNATURE_DTPT, 1);(
  VOID
);

EFI_STATUS
EFIAPI
with active interface - find stolen address from HOB(
  VOID
);

EFI_STATUS
EFIAPI
= GetHobList ();(
  VOID
);

EFI_STATUS
EFIAPI
stolen address(
  VOID
);

EFI_STATUS
EFIAPI
= STOLEN_ADDR_DEFAULT;(
  VOID
);

EFI_STATUS
EFIAPI
with DMA(
  VOID
);

EFI_STATUS
EFIAPI
the stolen memory region if it's not the default location(
  VOID
);

EFI_STATUS
EFIAPI
(StolenAddr != STOLEN_ADDR_DEFAULT) {(
  VOID
);

EFI_STATUS
EFIAPI
up TPM control area in stolen memory(
  VOID
);

EFI_STATUS
EFIAPI
*(UINT32 *)(StolenAddr + 36) = 0;   // ResponseSize(
  VOID
);

EFI_STATUS
EFIAPI
buffer(
  VOID
);

EFI_STATUS
EFIAPI
"DTPT" with 0(
  VOID
);

EFI_STATUS
EFIAPI
= AcpiAmlWriteInteger (DsdtAddr, MAX_UINT32, SIGNATURE_DTPT, 0);(
  VOID
);

EFI_STATUS
EFIAPI
TPM2 ACPI table(
  VOID
);

EFI_STATUS
EFIAPI
(mTpmMode == 2) {(
  VOID
);

EFI_STATUS
EFIAPI
and populate TPM2 table(
  VOID
);

EFI_STATUS
EFIAPI
= gBS->AllocatePool (EfiBootServicesData, 56, &BufferPtr);(
  VOID
);

EFI_STATUS
EFIAPI
"TPM24" signature header (52 bytes)(
  VOID
);

EFI_STATUS
EFIAPI
(BufferPtr, "TPM24", 52);(
  VOID
);

EFI_STATUS
EFIAPI
via ACPI table protocol(
  VOID
);

EFI_STATUS
EFIAPI
= ((EFI_ACPI_TABLE_PROTOCOL *)DsdtInterface)->InstallAcpiTable ((
  VOID
);

EFI_STATUS
EFIAPI
install of TPM24 signature(
  VOID
);

EFI_STATUS
EFIAPI
that initialization is complete(
  VOID
);

EFI_STATUS
EFIAPI
= gBS->SignalEvent ((EFI_EVENT)a1);(
  VOID
);

EFI_STATUS
EFIAPI
Entry Point(
  VOID
);

EFI_STATUS
EFIAPI
UEFI Boot/Runtime Services Table(
  VOID
);

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

EFI_STATUS
EFIAPI
PCD database via LocateProtocol(
  VOID
);

EFI_STATUS
EFIAPI
= (UINT64)PcdGet32 (5);(
  VOID
);

EFI_STATUS
EFIAPI
TPM hardware via EFLAGS.IF check(
  VOID
);

EFI_STATUS
EFIAPI
(ReadCallerEflags () & 0x200) {(
  VOID
);

EFI_STATUS
EFIAPI
loop using TSC(
  VOID
);

EFI_STATUS
EFIAPI
(((IoRead32 (1288) + 357 - IoRead32 (1288)) & 0x800000) == 0) {(
  VOID
);

EFI_STATUS
EFIAPI
the initialization event via CreateEvent(
  VOID
);

EFI_STATUS
EFIAPI
gBS->CreateEvent ((
  VOID
);

#endif /* __TPM20ACPI_H__ */