Newer
Older
AMI-Aptio-BIOS-Reversed / AmiModulePkg / TCG / TCM / TCMDXE / TCMDXE.h
@Ajax Dong Ajax Dong 2 days ago 6 KB Full restructure
/** @file
  TCMDXE.h -- Header for TCMDXE

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __TCMDXE_H__
#define __TCMDXE_H__

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

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
TcmReportError(
  VOID
);

EFI_STATUS
EFIAPI
TcmAssertFail(
  VOID
);

EFI_STATUS
EFIAPI
TcmReadUnaligned64(
  VOID
);

EFI_STATUS
EFIAPI
TcmPciExpressGetAddr(
  VOID
);

EFI_STATUS
EFIAPI
TcmIoWriteEnable(
  VOID
);

EFI_STATUS
EFIAPI
TcmRegisterWrite(
  VOID
);

EFI_STATUS
EFIAPI
TcmReadWord(
  VOID
);

EFI_STATUS
EFIAPI
TcmCheckResponse(
  VOID
);

EFI_STATUS
EFIAPI
TcmMicroDelay(
  VOID
);

EFI_STATUS
EFIAPI
TcmFifoTransmit(
  VOID
);

EFI_STATUS
EFIAPI
TcmStartup(
  VOID
);

EFI_STATUS
EFIAPI
TcmContinueSelfTest(
  VOID
);

EFI_STATUS
EFIAPI
TcmPhysicalEnable(
  VOID
);

EFI_STATUS
EFIAPI
TcmPhysicalDisable(
  VOID
);

EFI_STATUS
EFIAPI
TcmPhysicalSetDeactivated(
  VOID
);

EFI_STATUS
EFIAPI
TcmForceClear(
  VOID
);

EFI_STATUS
EFIAPI
TcmGetFlags(
  VOID
);

EFI_STATUS
EFIAPI
TcmDxeEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
data(
  VOID
);

EFI_STATUS
EFIAPI
gImageHandle = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
callback GUID from .rdata section(
  VOID
);

EFI_STATUS
EFIAPI
EFI_GUID  gTcpaCallbackGuid;    // {0x6B221186, 0x7E6F, 0x4A71, ...} @ 0x18D0(
  VOID
);

EFI_STATUS
EFIAPI
vendor/device ID signature(
  VOID
);

EFI_STATUS
EFIAPI
FIFO interface constants(
  VOID
);

EFI_STATUS
EFIAPI
response tag(
  VOID
);

EFI_STATUS
EFIAPI
print wrappers(
  VOID
);

EFI_STATUS
EFIAPI
CMOS register 0x4B for debug level(
  VOID
);

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

EFI_STATUS
EFIAPI
equivalent(
  VOID
);

EFI_STATUS
EFIAPI
Library context init(
  VOID
);

EFI_STATUS
EFIAPI
list not found - assert(
  VOID
);

EFI_STATUS
EFIAPI
((
  VOID
);

EFI_STATUS
EFIAPI
Express / MMIO helpers(
  VOID
);

EFI_STATUS
EFIAPI
- enable decode(
  VOID
);

EFI_STATUS
EFIAPI
FIFO I/O primitives(
  VOID
);

EFI_STATUS
EFIAPI
delay via RDTSC(
  VOID
);

EFI_STATUS
EFIAPI
EFLAGS.IF before disabling interrupts(
  VOID
);

EFI_STATUS
EFIAPI
= (AsmReadEflags () & 0x200) != 0;(
  VOID
);

EFI_STATUS
EFIAPI
interrupts during the calibrated delay loop(
  VOID
);

EFI_STATUS
EFIAPI
();(
  VOID
);

EFI_STATUS
EFIAPI
FIFO command transmit/receive(
  VOID
);

EFI_STATUS
EFIAPI
TCM presence: DID_VID must not be 0xFF(
  VOID
);

EFI_STATUS
EFIAPI
(MmioRead8 (TcmAddr + TCM_FIFO_REG_DID_VID) == 0xFF) {(
  VOID
);

EFI_STATUS
EFIAPI
locality: write active locality request(
  VOID
);

EFI_STATUS
EFIAPI
(MmioRead8 (TcmAddr + TCM_FIFO_REG_ACCESS) == 0xFF) {(
  VOID
);

EFI_STATUS
EFIAPI
for locality to be granted: Access register < 0xFF(
  VOID
);

EFI_STATUS
EFIAPI
= TcmRegisterWrite ((
  VOID
);

EFI_STATUS
EFIAPI
for command: set STS.commandReady(
  VOID
);

EFI_STATUS
EFIAPI
(TcmAddr + TCM_FIFO_REG_STS, TCM_STS_CMD_READY);(
  VOID
);

EFI_STATUS
EFIAPI
reg relative(
  VOID
);

EFI_STATUS
EFIAPI
command bytes to FIFO(
  VOID
);

EFI_STATUS
EFIAPI
= 0;(
  VOID
);

EFI_STATUS
EFIAPI
for STS_EXPECT to be set(
  VOID
);

EFI_STATUS
EFIAPI
burst count before writing(
  VOID
);

EFI_STATUS
EFIAPI
be unused depending on TCM model(
  VOID
);

EFI_STATUS
EFIAPI
data byte to FIFO(
  VOID
);

EFI_STATUS
EFIAPI
= SendBuffer[Index];(
  VOID
);

EFI_STATUS
EFIAPI
end of data(
  VOID
);

EFI_STATUS
EFIAPI
command execution: write GO bit(
  VOID
);

EFI_STATUS
EFIAPI
(TcmAddr + TCM_FIFO_REG_STS, TCM_STS_GO);(
  VOID
);

EFI_STATUS
EFIAPI
for data available(
  VOID
);

EFI_STATUS
EFIAPI
response data(
  VOID
);

EFI_STATUS
EFIAPI
status word to get FIFO byte count(
  VOID
);

EFI_STATUS
EFIAPI
(Locality, &FifoWord);(
  VOID
);

EFI_STATUS
EFIAPI
too small(
  VOID
);

EFI_STATUS
EFIAPI
remaining bytes(
  VOID
);

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

EFI_STATUS
EFIAPI
whether we have the full response header(
  VOID
);

EFI_STATUS
EFIAPI
(RecvIdx >= 6) {(
  VOID
);

EFI_STATUS
EFIAPI
release: clear access register(
  VOID
);

EFI_STATUS
EFIAPI
(TcmAddr + TCM_FIFO_REG_ACCESS, 0x20);(
  VOID
);

EFI_STATUS
EFIAPI
header: response is at offset 10 from raw data(
  VOID
);

EFI_STATUS
EFIAPI
= RecvIdx - 10;(
  VOID
);

EFI_STATUS
EFIAPI
success / status(
  VOID
);

EFI_STATUS
EFIAPI
TcmCheckResponse ((UINT16 *)RecvBuffer);(
  VOID
);

EFI_STATUS
EFIAPI
command wrappers(
  VOID
);

EFI_STATUS
EFIAPI
buffer for response(
  VOID
);

EFI_STATUS
EFIAPI
physical enable, set deactivated flag to FALSE(
  VOID
);

EFI_STATUS
EFIAPI
= TcmPhysicalSetDeactivated (FALSE);(
  VOID
);

EFI_STATUS
EFIAPI
set deactivated flag to TRUE, then physical disable(
  VOID
);

EFI_STATUS
EFIAPI
= TcmPhysicalSetDeactivated (TRUE);(
  VOID
);

EFI_STATUS
EFIAPI
volatile flags via sub-capability 273(
  VOID
);

EFI_STATUS
EFIAPI
= 273;(
  VOID
);

EFI_STATUS
EFIAPI
Driver Entry Point(
  VOID
);

EFI_STATUS
EFIAPI
have ImageHandle(
  VOID
);

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

EFI_STATUS
EFIAPI
have SystemTable(
  VOID
);

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

EFI_STATUS
EFIAPI
have BootServices(
  VOID
);

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

EFI_STATUS
EFIAPI
have RuntimeServices(
  VOID
);

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

EFI_STATUS
EFIAPI
HOB list(
  VOID
);

EFI_STATUS
EFIAPI
PCI Express MMIO base address(
  VOID
);

EFI_STATUS
EFIAPI
= ((UINT64 (*)(UINTN))TcmGetPcdDb ()->GetPcd ())(5);(
  VOID
);

EFI_STATUS
EFIAPI
PCI Express decoding is enabled, write the decode enable register(
  VOID
);

EFI_STATUS
EFIAPI
((INT8)TcmPciExpressGetAddr (1024068) >= 0) {(
  VOID
);

EFI_STATUS
EFIAPI
for TCM presence via signature word at DID_VID register(
  VOID
);

EFI_STATUS
EFIAPI
= AsmReadEflags ();(
  VOID
);

EFI_STATUS
EFIAPI
interrupts, check TCM signature(
  VOID
);

EFI_STATUS
EFIAPI
TCM signature matches, register callback(
  VOID
);

EFI_STATUS
EFIAPI
(MmioRead16 (TCM_BASE_ADDRESS + TCM_FIFO_REG_DID_VID) == TCM_SIGNATURE_WORD) {(
  VOID
);

EFI_STATUS
EFIAPI
delay to ensure TCM is ready(
  VOID
);

EFI_STATUS
EFIAPI
(1288);(
  VOID
);

EFI_STATUS
EFIAPI
for TCM ready...(
  VOID
);

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

EFI_STATUS
EFIAPI
remaining RDTSC delta(
  VOID
);

EFI_STATUS
EFIAPI
found - register the TCG callback(
  VOID
);

EFI_STATUS
EFIAPI
();   // Flush(
  VOID
);

EFI_STATUS
EFIAPI
callback for TCG physical presence protocol(
  VOID
);

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

EFI_STATUS
EFIAPI
function(
  VOID
);

#endif /* __TCMDXE_H__ */