Newer
Older
AMI-Aptio-BIOS-Reversed / PurleyPlatPkg / Ras / Smm / ErrHandling / FpgaErrorHandler / FpgaErrorHandler / FpgaErrorHandler.h
@Ajax Dong Ajax Dong 7 days ago 2 KB Recovering names
/** @file
  FpgaErrorHandler.h -- Header for FpgaErrorHandler

  Source: DEBUG_VS2015\X64\PurleyPlatPkg\Ras\Smm\ErrHandling\FpgaErrorHandler\FpgaErrorHandler\DEBUG
  Build: HR6N0XMLK DEBUG_VS2015 X64

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __FPGAERRORHANDLER_H__
#define __FPGAERRORHANDLER_H__

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

//
// Public entry symbols
//

///
/// _ModuleEntryPoint -- internal entry symbol recovered from AutoGen path
///
EFI_STATUS
EFIAPI
_ModuleEntryPoint(
  EFI_HANDLE       ImageHandle,
  EFI_SYSTEM_TABLE *SystemTable
);

///
/// ModuleEntryPoint -- compatibility wrapper that forwards to _ModuleEntryPoint
///
EFI_STATUS
EFIAPI
ModuleEntryPoint(
  EFI_HANDLE       ImageHandle,
  EFI_SYSTEM_TABLE *SystemTable
);

//
// Recovered helper aliases from local docs.
//

///
/// FpgaErrorHandlerInitializeContext -- AutoGen init helper (`sub_5C0`).
/// `sub_5C0` is the decompilation symbol name for this helper.
///
#define FpgaErrorHandlerInitializeContext sub_5C0
EFI_STATUS
EFIAPI
sub_5C0(
  EFI_HANDLE       ImageHandle,
  EFI_SYSTEM_TABLE *SystemTable
);

///
/// RegisterFpgaErrorCallbacks -- module setup routine (`sub_EAC`).
/// `sub_EAC` is the decompilation symbol name for this routine.
///
#define RegisterFpgaErrorCallbacks sub_EAC
EFI_STATUS
EFIAPI
sub_EAC(
  VOID
);

///
/// FpgaErrorHandlerSetJumpStateSave -- context save (`sub_280`).
/// `sub_280` is the decompilation symbol name for this helper.
///
#define FpgaErrorHandlerSetJumpStateSave sub_280
EFI_STATUS
EFIAPI
sub_280(
  VOID *
);

///
/// FpgaErrorHandlerSetJumpStateCheck -- set-jump context validator (`sub_11E0`).
/// `sub_11E0` is the decompilation symbol name for this helper.
///
#define FpgaErrorHandlerSetJumpStateCheck sub_11E0
EFI_STATUS
EFIAPI
sub_11E0(
  VOID *
);

///
/// FpgaErrorHandlerSetJumpRecover -- context restore/longjmp (`sub_320`).
/// `sub_320` is the decompilation symbol name for this helper.
///
#define FpgaErrorHandlerSetJumpRecover sub_320
EFI_STATUS
EFIAPI
sub_320(
  VOID *,
  INTN
);

///
/// FpgaErrorHandlerAssert -- debug assert logging (`sub_11A0`).
/// `sub_11A0` is the decompilation symbol name for this helper.
///
#define FpgaErrorHandlerAssert sub_11A0
EFI_STATUS
EFIAPI
sub_11A0(
  CONST CHAR8  *FileName,
  UINTN        LineNumber,
  CONST CHAR8  *Expression
);

///
/// FpgaErrorHandlerCleanup -- SMM pool/free failure path (`sub_13D4`).
/// `sub_13D4` is the decompilation symbol name for this helper.
///
#define FpgaErrorHandlerCleanup sub_13D4
EFI_STATUS
EFIAPI
sub_13D4(
  VOID
);

//
// Recovered state aliases
//

///
/// Module return status register (`qword_2FA8`).
/// 
extern EFI_STATUS mFpgaErrorHandlerModuleStatus;

///
/// Module set-jump context object (`unk_2EB0`), 0xF8 bytes.
///
extern UINT8 mFpgaErrorHandlerJumpBuffer[0xF8];

#endif /* __FPGAERRORHANDLER_H__ */