Newer
Older
AMI-Aptio-BIOS-Reversed / AmiModulePkg / LegacySerialRedirection / LegacySmmSredir / LegacySmmSredir.h
@Ajax Dong Ajax Dong 7 days ago 2 KB Recovering names
/** @file
  LegacySmmSredir.h -- Header for LegacySmmSredir


Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __LEGACYSMMSREDIR_H__
#define __LEGACYSMMSREDIR_H__

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

//
// Global state recovered from module data recovery notes
//
extern EFI_SYSTEM_TABLE   *gST;                // 0x1A08
extern EFI_BOOT_SERVICES  *gBS;                // 0x1A10
extern EFI_HANDLE         gImageHandle;        // 0x1A18
extern EFI_RUNTIME_SERVICES *gRT;              // 0x1A20
extern VOID               *gSmst;              // 0x1A28
extern VOID               *gSmmDebugLib;       // 0x1A30
extern EFI_BOOT_SERVICES  *gBSLocal;           // 0x1A38
extern VOID               *gSmmInternalProtocol;// 0x1A40
extern VOID               *gSmmBase2Protocol;  // 0x1A48
extern UINT8              gSmmMode;            // 0x1A50
extern VOID               *gSmmIoProtocol;     // 0x1A58
extern UINT8              gSmmIoPhase;         // 0x1A60
extern VOID               *gDxeDebugLib;       // 0x1A68
extern VOID               *gDxeIoProtocol;     // 0x1A70
extern EFI_RUNTIME_SERVICES *gRTLocal;          // 0x1A78
extern VOID               *gDxeDebugMask;      // 0x1A80
extern EFI_SYSTEM_TABLE   *gSTLocal;           // 0x1A88
extern VOID               *gAmiBufferValidation;// 0x1A90
extern UINT8              gCmosValue;          // 0x1A98
extern UINTN              gDriverStatus;       // 0x1B98
extern VOID               *gSmmCommunication;  // 0x1BA0
extern VOID               *gSmmCommunicationProtocol; // 0x19F0
extern UINT8              gDataWidth;          // 0x19F8
extern UINT8              gCommunicateDisabled; // 0x19F9
extern VOID               *gSmmCommunicateBuffer; // 0x1A00

//
// Function Prototypes
//

///
/// _ModuleEntryPoint -- UEFI SMM entry point recovered name
///
EFI_STATUS
EFIAPI
_ModuleEntryPoint(
  IN EFI_HANDLE        ImageHandle,
  IN EFI_SYSTEM_TABLE  *SystemTable
);

///
/// ModuleEntryPoint -- legacy compatibility alias
///
EFI_STATUS
EFIAPI
ModuleEntryPoint(
  IN EFI_HANDLE        ImageHandle,
  IN EFI_SYSTEM_TABLE  *SystemTable
);

///
/// _ModuleEntryPoint sub-helpers
///
EFI_STATUS
EFIAPI
sub_44C(
  VOID
);

///
/// sub_618
///
EFI_STATUS
EFIAPI
sub_618(
  IN EFI_HANDLE        ImageHandle,
  IN EFI_SYSTEM_TABLE  *SystemTable
);

///
/// Recovered semantic wrappers for sub_44C/sub_618
///
EFI_STATUS EFIAPI LegacySmmSredirAutoGenInit(VOID);
EFI_STATUS EFIAPI LegacySmmSredirDriverEntry(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable);

#endif /* __LEGACYSMMSREDIR_H__ */