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

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __PLATFORMRESET_H__
#define __PLATFORMRESET_H__

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

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
ModuleEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
PlatformResetDriverEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
PlatformResetUnload(
  VOID
);

EFI_STATUS
EFIAPI
PlatformResetEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
PlatformResetSystem(
  VOID
);

EFI_STATUS
EFIAPI
nullsub_1(
  VOID
);

EFI_STATUS
EFIAPI
global variables(
  VOID
);

EFI_STATUS
EFIAPI
ImageHandle      = NULL;    // 0x40C8(
  VOID
);

EFI_STATUS
EFIAPI
EFI_BOOT_SERVICES       *gBS             = NULL;   // 0x40C0(
  VOID
);

EFI_STATUS
EFIAPI
STATIC EFI_BOOT_SERVICES *mBS             = NULL;   // 0x40F0(
  VOID
);

EFI_STATUS
EFIAPI
STATIC EFI_DS            *gDS             = NULL;  // 0x4100(
  VOID
);

EFI_STATUS
EFIAPI
STATIC EFI_EVENT          mEfiExitBootServiceEvent = NULL; // 0x40E8(
  VOID
);

EFI_STATUS
EFIAPI
STATIC VOID              *mHobList        = NULL;  // 0x4110(
  VOID
);

EFI_STATUS
EFIAPI
STATIC EFI_EVENT          mEfiEventReadyToBoot = NULL; // 0x4148(
  VOID
);

EFI_STATUS
EFIAPI
STATIC EFI_RUNTIME_SERVICES *mRuntimeServices = NULL; // 0x4160(
  VOID
);

EFI_STATUS
EFIAPI
STATIC EFI_RESET_SYSTEM   mOriginalResetSystem = NULL; // 0x4170(
  VOID
);

EFI_STATUS
EFIAPI
STATIC UINTN              mPciExpressMmBaseCount = 0; // 0x4128(
  VOID
);

EFI_STATUS
EFIAPI
STATIC VOID              *mPciExpressMmBaseRegBase = NULL; // 0x4130(
  VOID
);

EFI_STATUS
EFIAPI
STATIC BOOLEAN            mRuntimeVirtualAddrMapDone = FALSE; // 0x4118(
  VOID
);

EFI_STATUS
EFIAPI
//(
  VOID
);

EFI_STATUS
EFIAPI
*(
  VOID
);

EFI_STATUS
EFIAPI
- UEFI DXE driver entry point(
  VOID
);

EFI_STATUS
EFIAPI
EFIAPI(
  VOID
);

EFI_STATUS
EFIAPI
- Initialize driver globals(
  VOID
);

EFI_STATUS
EFIAPI
BS protocol notification events, configure(
  VOID
);

EFI_STATUS
EFIAPI
Express MMIO access and runtime services.(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v4; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v6; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v8; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v10; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v12; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v14; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int16 v16; // bx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v18; // rdi(
  VOID
);

EFI_STATUS
EFIAPI
::ImageHandle = ImageHandle; /*0x1159*/(
  VOID
);

EFI_STATUS
EFIAPI
- Driver unload handler(
  VOID
);

EFI_STATUS
EFIAPI
runtime PCI Express mappings, frees events.(
  VOID
);

EFI_STATUS
EFIAPI
PlatformResetUnload()(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v1; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v3; // rax(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v5; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
- Main entry point for PlatformReset driver.(
  VOID
);

EFI_STATUS
EFIAPI
the EFI Reset Architecture Protocol and registers(
  VOID
);

EFI_STATUS
EFIAPI
PlatformResetSystem() as the runtime ResetSystem handler.(
  VOID
);

EFI_STATUS
EFIAPI
PlatformResetEntryPoint ((
  VOID
);

EFI_STATUS
EFIAPI
__int64 v7; // [rsp+40h] [rbp+8h] BYREF(
  VOID
);

EFI_STATUS
EFIAPI
- Runtime ResetSystem service handler.(
  VOID
);

EFI_STATUS
EFIAPI
cold reset (0), warm reset (1), shutdown (3)(
  VOID
);

EFI_STATUS
EFIAPI
platform-specific reset (4, 5).(
  VOID
);

EFI_STATUS
EFIAPI
through PCH SMBus controller or via PCH reset register.(
  VOID
);

EFI_STATUS
EFIAPI
int n3; // ecx(
  VOID
);

EFI_STATUS
EFIAPI
- Null notification function(
  VOID
);

EFI_STATUS
EFIAPI
nullsub_1 (VOID)(
  VOID
);

EFI_STATUS
EFIAPI
- Save the original ResetSystem pointer to mOriginalResetSystem(
  VOID
);

EFI_STATUS
EFIAPI
- ZeroMem with validation (BaseMemoryLib wrapper)(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall sub_1A48(__int64 a1, unsigned __int64 a2)(
  VOID
);

EFI_STATUS
EFIAPI
- Get the Debug Output protocol for ASSERT/DEBUG output(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int64 n0x10; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v3; // rcx(
  VOID
);

EFI_STATUS
EFIAPI
- Debug print wrapper (supports NMI lock via CMOS 0x4B)(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v4; // r8(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int8 v6; // al(
  VOID
);

EFI_STATUS
EFIAPI
int n113; // edx(
  VOID
);

EFI_STATUS
EFIAPI
- Debug assert (via Debug Output protocol)(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall sub_1BB4(__int64 a1, __int64 a2, __int64 a3)(
  VOID
);

EFI_STATUS
EFIAPI
result = sub_1AAC(); /*0x1bcc*/(
  VOID
);

EFI_STATUS
EFIAPI
- BS event notification: clear gBS pointer(
  VOID
);

EFI_STATUS
EFIAPI
- ExitBootServices notification handler(
  VOID
);

EFI_STATUS
EFIAPI
- Get system configuration table by GUID (UefiLib wrapper)(
  VOID
);

EFI_STATUS
EFIAPI
__int64 __fastcall sub_1C28(__int64 a1, _QWORD *a2)(
  VOID
);

EFI_STATUS
EFIAPI
if ( !a1 ) /*0x1c4a*/(
  VOID
);

EFI_STATUS
EFIAPI
- Get HOB list pointer (HobLib wrapper)(
  VOID
);

EFI_STATUS
EFIAPI
signed __int64 v1; // rax(
  VOID
);

EFI_STATUS
EFIAPI
- SetVirtualAddressMap notification: mark VA map done(
  VOID
);

EFI_STATUS
EFIAPI
- Runtime event: convert RT pointers for virtual address mode(
  VOID
);

EFI_STATUS
EFIAPI
- Runtime PCI Express address map cleanup(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int64 v1; // rbx(
  VOID
);

EFI_STATUS
EFIAPI
result = qword_4120; /*0x1da6*/(
  VOID
);

EFI_STATUS
EFIAPI
- Get PCI Express MMIO config space address(
  VOID
);

EFI_STATUS
EFIAPI
a PCI Express address to its MMIO base + offset.(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall sub_1E0C(__int64 n1024064)(
  VOID
);

EFI_STATUS
EFIAPI
unsigned __int64 v3; // rax(
  VOID
);

EFI_STATUS
EFIAPI
if ( (n1024064 & 0xFFFFFFFFF0000000uLL) != 0 ) /*0x1e1c*/(
  VOID
);

EFI_STATUS
EFIAPI
- Compare two GUIDs for equality (ReadUnaligned64 wrapper)(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall sub_1ED0(__int64 a1, __int64 a2)(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v7; // rax(
  VOID
);

EFI_STATUS
EFIAPI
- Read unaligned 64-bit value (BaseLib wrapper)(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall sub_1F38(__int64 a1)(
  VOID
);

EFI_STATUS
EFIAPI
- Get the PCD protocol pointer(
  VOID
);

EFI_STATUS
EFIAPI
__int64 v1; // rax(
  VOID
);

EFI_STATUS
EFIAPI
- Write 16-bit I/O port (IoLib wrapper)(
  VOID
);

EFI_STATUS
EFIAPI
__fastcall sub_1FF4(_WORD *a1)(
  VOID
);

EFI_STATUS
EFIAPI
- Read 32-bit I/O port (IoLib wrapper)(
  VOID
);

EFI_STATUS
EFIAPI
__int32 __fastcall sub_2028(unsigned __int16 n1288)(
  VOID
);

EFI_STATUS
EFIAPI
- Free pool memory (MemoryAllocationLib wrapper)(
  VOID
);

EFI_STATUS
EFIAPI
result = (*(__int64 (__fastcall **)(__int64))(qword_40C0 + 72))(qword_4120); /*0x206a*/(
  VOID
);

#endif /* __PLATFORMRESET_H__ */