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

  Auto-converted from IDA decompiler output.
  Recovered symbol names aligned to local module documentation.

Copyright (c) HR650X BIOS Decompilation Project
**/

#include "FpgaErrorHandler.h"

//
// Recovered module state from decompilation maps.
//

EFI_STATUS  mFpgaErrorHandlerModuleStatus = 0x8000000000000001ULL;
UINT8       mFpgaErrorHandlerJumpBuffer[0xF8];

//
// Function: _ModuleEntryPoint (recovered entry symbol from docs)
//
EFI_STATUS
EFIAPI
_ModuleEntryPoint(
  EFI_HANDLE       ImageHandle,
  EFI_SYSTEM_TABLE *SystemTable
  )
{
  EFI_STATUS   HandlerSetupStatus;
  EFI_STATUS   ReturnStatus;
  VOID        *SetJumpState = NULL;

  FpgaErrorHandlerInitializeContext(ImageHandle, SystemTable);
  mFpgaErrorHandlerModuleStatus = 0x8000000000000001uLL;
  SetJumpState = mFpgaErrorHandlerJumpBuffer;
  if ( !FpgaErrorHandlerSetJumpStateSave(SetJumpState) )
  {
    HandlerSetupStatus = RegisterFpgaErrorCallbacks();
    if ( HandlerSetupStatus >= 0 || mFpgaErrorHandlerModuleStatus < 0 )
    {
      mFpgaErrorHandlerModuleStatus = HandlerSetupStatus;
    }

    FpgaErrorHandlerSetJumpStateCheck(SetJumpState);
    FpgaErrorHandlerSetJumpRecover(SetJumpState, -1);
    FpgaErrorHandlerAssert(
      "e:\\hs\\Build\\HR6N0XMLK\\DEBUG_VS2015\\X64\\PurleyPlatPkg\\Ras\\Smm\\ErrHandling\\FpgaErrorHandler\\FpgaErrorHandler\\"
      "DEBUG\\AutoGen.c",
      611,
      "((BOOLEAN)(0==1))");
    FpgaErrorHandlerAssert(
      "e:\\hs\\Build\\HR6N0XMLK\\DEBUG_VS2015\\X64\\PurleyPlatPkg\\Ras\\Smm\\ErrHandling\\FpgaErrorHandler\\FpgaErrorHandler\\"
      "DEBUG\\AutoGen.c",
      626,
      "((BOOLEAN)(0==1))");
  }
  ReturnStatus = mFpgaErrorHandlerModuleStatus;
  if ( mFpgaErrorHandlerModuleStatus < 0 )
  {
    FpgaErrorHandlerCleanup();
  }
  return ReturnStatus;
}

//
// Compatibility shim preserved for non-decompiled call sites.
//
EFI_STATUS
EFIAPI
ModuleEntryPoint(
  EFI_HANDLE       ImageHandle,
  EFI_SYSTEM_TABLE *SystemTable
  )
{
  return _ModuleEntryPoint(ImageHandle, SystemTable);
}