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

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __SMMCONTROL_H__
#define __SMMCONTROL_H__

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

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
SmiActivate(
  VOID
);

EFI_STATUS
EFIAPI
PciExpressInit(
  VOID
);

EFI_STATUS
EFIAPI
SmiClearGpeStatus(
  VOID
);

EFI_STATUS
EFIAPI
GetDebugLibProtocol(
  VOID
);

EFI_STATUS
EFIAPI
LocateProtocol(
  VOID
);

EFI_STATUS
EFIAPI
CompareGuid(
  VOID
);

EFI_STATUS
EFIAPI
ReadUnaligned64(
  VOID
);

EFI_STATUS
EFIAPI
GetConfigurationTable(
  VOID
);

EFI_STATUS
EFIAPI
IoRead16(
  VOID
);

EFI_STATUS
EFIAPI
IoWrite16(
  VOID
);

EFI_STATUS
EFIAPI
IoRead32(
  VOID
);

EFI_STATUS
EFIAPI
IoWrite32(
  VOID
);

EFI_STATUS
EFIAPI
MmioRead16(
  VOID
);

EFI_STATUS
EFIAPI
InitDebugLib(
  VOID
);

EFI_STATUS
EFIAPI
DebugPrint(
  VOID
);

EFI_STATUS
EFIAPI
DebugAssert(
  VOID
);

EFI_STATUS
EFIAPI
OnRestoreTpl(
  VOID
);

EFI_STATUS
EFIAPI
OnVirtualAddressChange(
  VOID
);

EFI_STATUS
EFIAPI
OnRuntimeReady(
  VOID
);

EFI_STATUS
EFIAPI
OnSmiHobCleanup(
  VOID
);

EFI_STATUS
EFIAPI
SmmCommunicationCommunicate(
  VOID
);

EFI_STATUS
EFIAPI
SmmControl2Handler(
  VOID
);

EFI_STATUS
EFIAPI
SmmControl2Clear(
  VOID
);

EFI_STATUS
EFIAPI
PchLpcMmioRead(
  VOID
);

EFI_STATUS
EFIAPI
ReadUnaligned64At8(
  VOID
);

EFI_STATUS
EFIAPI
InitHobList(
  VOID
);

EFI_STATUS
EFIAPI
InitPcdDb(
  VOID
);

EFI_STATUS
EFIAPI
InitMmPciBase(
  VOID
);

EFI_STATUS
EFIAPI
GetPcdProtocol(
  VOID
);

EFI_STATUS
EFIAPI
SmmControlDriverEntryInit(
  VOID
);

EFI_STATUS
EFIAPI
SmmControlDriverUnload(
  VOID
);

EFI_STATUS
EFIAPI
Variables(
  VOID
);

EFI_STATUS
EFIAPI
gImageHandle       = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
EFI_SMM_COMMUNICATION_PROTOCOL *gSmmCommunication = NULL;  // psub_1970(
  VOID
);

EFI_STATUS
EFIAPI
VOID                    *gHobList          = NULL;   // qword_43E8(
  VOID
);

EFI_STATUS
EFIAPI
VOID                    *gDsEntry          = NULL;   // qword_43D8(
  VOID
);

EFI_STATUS
EFIAPI
UINT8                   gDebugLevel        = 0;      // n113(
  VOID
);

EFI_STATUS
EFIAPI
UINT64                  gSmiHobDataCount   = 0;      // qword_43F8(
  VOID
);

EFI_STATUS
EFIAPI
UINTN                   gCmCpuCount        = 0;      // n2, initialized to 2(
  VOID
);

EFI_STATUS
EFIAPI
handles(
  VOID
);

EFI_STATUS
EFIAPI
gEventRestoreTpl         = NULL;  // qword_43C0(
  VOID
);

EFI_STATUS
EFIAPI
EFI_EVENT               gEventRuntimeReady       = NULL;  // qword_4450(
  VOID
);

EFI_STATUS
EFIAPI
//(
  VOID
);

EFI_STATUS
EFIAPI
declarations of static functions(
  VOID
);

EFI_STATUS
EFIAPI
EFI_STATUS(
  VOID
);

EFI_STATUS
EFIAPI
Library Protocol (dynamically located)(
  VOID
);

EFI_STATUS
EFIAPI
if BootServices is available and we have enough memory(
  VOID
);

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

EFI_STATUS
EFIAPI
memory condition: try to locate the debug protocol(
  VOID
);

EFI_STATUS
EFIAPI
= LocateProtocol (&gEfiDebugProtocolGuid, NULL, &gDebugLib);(
  VOID
);

EFI_STATUS
EFIAPI
CMOS diagnostic register to determine current debug level(
  VOID
);

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

EFI_STATUS
EFIAPI
Notification Callbacks(
  VOID
);

EFI_STATUS
EFIAPI
Implementation(
  VOID
);

EFI_STATUS
EFIAPI
to the non-periodic activation path(
  VOID
);

EFI_STATUS
EFIAPI
(CommBuffer != NULL && CommSize != NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
SMI status and trigger SMI via control port(
  VOID
);

EFI_STATUS
EFIAPI
(gSmiIoPortBase + 48, IoRead32 (gSmiIoPortBase + 48) | 0x21);(
  VOID
);

EFI_STATUS
EFIAPI
SMI command and data ports(
  VOID
);

EFI_STATUS
EFIAPI
(0xB3, DataValue);(
  VOID
);

EFI_STATUS
EFIAPI
Activation and Status Handling(
  VOID
);

EFI_STATUS
EFIAPI
TCO status; if not set, reset PM1/GPE status(
  VOID
);

EFI_STATUS
EFIAPI
((IoRead16 (gSmiIoPortBase + 4) & 1) == 0) {(
  VOID
);

EFI_STATUS
EFIAPI
PM1 status registers(
  VOID
);

EFI_STATUS
EFIAPI
(gSmiIoPortBase, 0xFFFF);(
  VOID
);

EFI_STATUS
EFIAPI
GPE status(
  VOID
);

EFI_STATUS
EFIAPI
(gSmiIoPortBase + 140, 0xFFFFFDFF);(
  VOID
);

EFI_STATUS
EFIAPI
all GPIO GPEs(
  VOID
);

EFI_STATUS
EFIAPI
= (PCM_PCI_SMI_CONTEXT *)GetGpioGpeInfo (&GpeCount);(
  VOID
);

EFI_STATUS
EFIAPI
all GPIO SMIs(
  VOID
);

EFI_STATUS
EFIAPI
= (PCM_PCI_SMI_CONTEXT *)GetGpioSmiInfo (&SmiCount);(
  VOID
);

EFI_STATUS
EFIAPI
GPE and SMI events on the SMI I/O port(
  VOID
);

EFI_STATUS
EFIAPI
= gSmiIoPortBase + 68;(
  VOID
);

EFI_STATUS
EFIAPI
Support and Detection(
  VOID
);

EFI_STATUS
EFIAPI
a temporary MMIO address to read from LPC(
  VOID
);

EFI_STATUS
EFIAPI
= MmioRead32 ((UINT32 *)(UINTN)Address);(
  VOID
);

EFI_STATUS
EFIAPI
and Protocol Location Helpers(
  VOID
);

EFI_STATUS
EFIAPI
Table Lookup(
  VOID
);

EFI_STATUS
EFIAPI
MM_PCI_USRA protocol if needed(
  VOID
);

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

EFI_STATUS
EFIAPI
Entry Point and Initialization(
  VOID
);

EFI_STATUS
EFIAPI
required pointers(
  VOID
);

EFI_STATUS
EFIAPI
(gImageHandle != NULL);(
  VOID
);

EFI_STATUS
EFIAPI
the PCH SMI I/O base address from the HOB(
  VOID
);

EFI_STATUS
EFIAPI
configure the SMI I/O ports(
  VOID
);

EFI_STATUS
EFIAPI
= SmmControlDriverEntryInit ();(
  VOID
);

EFI_STATUS
EFIAPI
LPC I/O decode registers via MMIO to get SMI port base(
  VOID
);

EFI_STATUS
EFIAPI
= MmioRead16 ((UINT16 *)(PchLpcMmioRead (2)));(
  VOID
);

/// should not happen
EFI_STATUS
EFIAPI
not initialized yet(
  VOID
);

EFI_STATUS
EFIAPI
(FALSE);(
  VOID
);

EFI_STATUS
EFIAPI
protocol structures(
  VOID
);

EFI_STATUS
EFIAPI
= 0;(
  VOID
);

EFI_STATUS
EFIAPI
SMI HOB notification protocol(
  VOID
);

EFI_STATUS
EFIAPI
EFI virtual address change event(
  VOID
);

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

EFI_STATUS
EFIAPI
GPIO/SMI status(
  VOID
);

EFI_STATUS
EFIAPI
();(
  VOID
);

EFI_STATUS
EFIAPI
SMI HOB data if allocated(
  VOID
);

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

EFI_STATUS
EFIAPI
all registered events(
  VOID
);

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

EFI_STATUS
EFIAPI
PciExpress protocol registration(
  VOID
);

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

EFI_STATUS
EFIAPI
Express Library Initialization(
  VOID
);

EFI_STATUS
EFIAPI
for protocol notify on the MM-PCI USRA protocol(
  VOID
);

#endif /* __SMMCONTROL_H__ */