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

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __BOOTSCRIPTEXECUTORDXE_H__
#define __BOOTSCRIPTEXECUTORDXE_H__

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

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
ModuleEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
DriverInit(
  VOID
);

EFI_STATUS
EFIAPI
BootScriptDriverInit(
  VOID
);

EFI_STATUS
EFIAPI
BootScriptExecuteTable(
  VOID
);

EFI_STATUS
EFIAPI
UefiBootServicesTableLibConstructor(
  VOID
);

EFI_STATUS
EFIAPI
SmmLockBoxSaveLockBox(
  VOID
);

EFI_STATUS
EFIAPI
SmmLockBoxRestoreLockBox(
  VOID
);

EFI_STATUS
EFIAPI
SmmLockBoxSetAttributes(
  VOID
);

EFI_STATUS
EFIAPI
X64ExceptionDumpCpuContext(
  VOID
);

EFI_STATUS
EFIAPI
BaseLibGetPerformanceCounter(
  VOID
);

EFI_STATUS
EFIAPI
variables(
  VOID
);

EFI_STATUS
EFIAPI
section variables(
  VOID
);

EFI_STATUS
EFIAPI
gUnknownData_0xC850;          /* 0xC850 */(
  VOID
);

EFI_STATUS
EFIAPI
*gEfiBootScriptNotifyProtocol;   /* 0xC710 */(
  VOID
);

EFI_STATUS
EFIAPI
Entry Point(
  VOID
);

EFI_STATUS
EFIAPI
Init - Serial port init and boot script setup(
  VOID
);

EFI_STATUS
EFIAPI
global pointers(
  VOID
);

EFI_STATUS
EFIAPI
CMOS/RTC to detect serial baud rate(
  VOID
);

EFI_STATUS
EFIAPI
index 0x5C stores the UART baud rate index:(
  VOID
);

EFI_STATUS
EFIAPI
-> 115200, 0xA6 -> 57600, 0xA5 -> 38400(
  VOID
);

EFI_STATUS
EFIAPI
-> 19200, 0xA3 -> 9600(
  VOID
);

EFI_STATUS
EFIAPI
(RTC_ADDR_PORT, 0x5C);(
  VOID
);

EFI_STATUS
EFIAPI
16550 UART at detected base address(
  VOID
);

EFI_STATUS
EFIAPI
base is determined from CMOS (typically 0x3F8 for COM1)(
  VOID
);

EFI_STATUS
EFIAPI
UartBase = 1016;  /* 0x3F8 */(
  VOID
);

EFI_STATUS
EFIAPI
current UART configuration(
  VOID
);

EFI_STATUS
EFIAPI
DLAB bit to access divisor latches(
  VOID
);

EFI_STATUS
EFIAPI
reconfigure if baud rate doesn't match(
  VOID
);

EFI_STATUS
EFIAPI
for UART idle (TSR empty)(
  VOID
);

EFI_STATUS
EFIAPI
DLAB, write divisor, clear DLAB, set 8N1(
  VOID
);

EFI_STATUS
EFIAPI
boot script table(
  VOID
);

EFI_STATUS
EFIAPI
check: enable watchdog if appropriate(
  VOID
);

EFI_STATUS
EFIAPI
CR0 (cache settings)(
  VOID
);

EFI_STATUS
EFIAPI
counter delay loop(
  VOID
);

EFI_STATUS
EFIAPI
cache state(
  VOID
);

EFI_STATUS
EFIAPI
main boot script driver init(
  VOID
);

EFI_STATUS
EFIAPI
Script Driver Init (from PiDxeS3BootScriptLib/BootScriptSave.c)(
  VOID
);

EFI_STATUS
EFIAPI
boot script notification protocols.(
  VOID
);

EFI_STATUS
EFIAPI
S3 boot script context(
  VOID
);

EFI_STATUS
EFIAPI
S3 boot script table via boot services(
  VOID
);

EFI_STATUS
EFIAPI
with BS function table(
  VOID
);

EFI_STATUS
EFIAPI
DxeSmmReadyToLock event(
  VOID
);

EFI_STATUS
EFIAPI
if BootScript Notify protocol is available(
  VOID
);

EFI_STATUS
EFIAPI
so, register S3 ready event and close done callbacks(
  VOID
);

EFI_STATUS
EFIAPI
second context(
  VOID
);

EFI_STATUS
EFIAPI
from S3 boot script protocol(
  VOID
);

EFI_STATUS
EFIAPI
boot script close callbacks(
  VOID
);

EFI_STATUS
EFIAPI
S3 ready callback(
  VOID
);

EFI_STATUS
EFIAPI
Script Table Entry Execution(
  VOID
);

EFI_STATUS
EFIAPI
- Main entry for executing the boot script table(
  VOID
);

EFI_STATUS
EFIAPI
each entry by opcode and dispatches to the appropriate handler.(
  VOID
);

EFI_STATUS
EFIAPI
during S3 resume.(
  VOID
);

EFI_STATUS
EFIAPI
BootScriptExecuteTable ((
  VOID
);

EFI_STATUS
EFIAPI
is the core function at 0x4C94(
  VOID
);

EFI_STATUS
EFIAPI
iterates through the boot script table entries, parsing the(
  VOID
);

EFI_STATUS
EFIAPI
header (opcode, width, size) and dispatching to:(
  VOID
);

EFI_STATUS
EFIAPI
the full decompiled pseudocode, see the IDB at:(
  VOID
);

EFI_STATUS
EFIAPI
@ 0x4C94(
  VOID
);

EFI_STATUS
EFIAPI
@ 0x1B9C(
  VOID
);

EFI_STATUS
EFIAPI
for the UEFI Boot Services Table Library.(
  VOID
);

EFI_STATUS
EFIAPI
pointer to function table.(
  VOID
);

EFI_STATUS
EFIAPI
UefiBootServicesTableLibConstructor ((
  VOID
);

EFI_STATUS
EFIAPI
the gBS function table pointer(
  VOID
);

EFI_STATUS
EFIAPI
@ 0x21A4(
  VOID
);

EFI_STATUS
EFIAPI
a buffer to a LockBox identified by GUID.(
  VOID
);

EFI_STATUS
EFIAPI
SMM communication buffer protocol.(
  VOID
);

EFI_STATUS
EFIAPI
SmmLockBoxSaveLockBox ((
  VOID
);

EFI_STATUS
EFIAPI
SMM communication buffer(
  VOID
);

EFI_STATUS
EFIAPI
SMM LockBox save request(
  VOID
);

EFI_STATUS
EFIAPI
to SMM via communication buffer(
  VOID
);

EFI_STATUS
EFIAPI
status(
  VOID
);

EFI_STATUS
EFIAPI
@ 0x2414(
  VOID
);

EFI_STATUS
EFIAPI
a buffer from a LockBox identified by GUID.(
  VOID
);

EFI_STATUS
EFIAPI
boot services buffer for the restored data.(
  VOID
);

EFI_STATUS
EFIAPI
SmmLockBoxRestoreLockBox ((
  VOID
);

EFI_STATUS
EFIAPI
LockBox restore request with SMM comm buffer(
  VOID
);

EFI_STATUS
EFIAPI
layout:(
  VOID
);

EFI_STATUS
EFIAPI
SMM communication protocol(
  VOID
);

EFI_STATUS
EFIAPI
restored data status(
  VOID
);

EFI_STATUS
EFIAPI
@ 0x22E8(
  VOID
);

EFI_STATUS
EFIAPI
attributes on an existing LockBox.(
  VOID
);

EFI_STATUS
EFIAPI
only supports EFI_LOCK_BOX_ATTRIBUTE_RESTORE_IN_PLACE (bit 0).(
  VOID
);

EFI_STATUS
EFIAPI
SmmLockBoxSetAttributes ((
  VOID
);

EFI_STATUS
EFIAPI
SMM request with Attributes=4 (SetAttributes)(
  VOID
);

EFI_STATUS
EFIAPI
is embedded in the request buffer(
  VOID
);

EFI_STATUS
EFIAPI
@ 0x6D30(
  VOID
);

EFI_STATUS
EFIAPI
full CPU context for an X64 exception.(
  VOID
);

EFI_STATUS
EFIAPI
by the exception handler to print register state.(
  VOID
);

EFI_STATUS
EFIAPI
X64ExceptionDumpCpuContext ((
  VOID
);

EFI_STATUS
EFIAPI
has data (page fault, etc.)(
  VOID
);

EFI_STATUS
EFIAPI
fault(
  VOID
);

EFI_STATUS
EFIAPI
all general purpose and system registers(
  VOID
);

EFI_STATUS
EFIAPI
@ 0x19F4(
  VOID
);

EFI_STATUS
EFIAPI
the current performance counter value.(
  VOID
);

EFI_STATUS
EFIAPI
the TSC (Time Stamp Counter).(
  VOID
);

EFI_STATUS
EFIAPI
BaseLibGetPerformanceCounter ((
  VOID
);

EFI_STATUS
EFIAPI
@ 0x72EC(
  VOID
);

EFI_STATUS
EFIAPI
memory from source to destination.(
  VOID
);

EFI_STATUS
EFIAPI
*(
  VOID
);

EFI_STATUS
EFIAPI
to CopyMemInternal at 0x9C0(
  VOID
);

EFI_STATUS
EFIAPI
@ 0x7388(
  VOID
);

EFI_STATUS
EFIAPI
memory with a byte value.(
  VOID
);

EFI_STATUS
EFIAPI
to SetMemInternal at 0xA10(
  VOID
);

#endif /* __BOOTSCRIPTEXECUTORDXE_H__ */