/** @file
RuntimeSmm.c -- RuntimeSmm
Auto-converted from IDA decompiler output.
Functions recovered from local RuntimeSmm.md/README.md evidence.
Copyright (c) HR650X BIOS Decompilation Project
**/
#include "RuntimeSmm.h"
// Recovered module globals (symbol names preferred in docs + map compatibility aliases).
EFI_HANDLE gImageHandle; // 0x1300
EFI_SYSTEM_TABLE *gST; // 0x12F0
EFI_RUNTIME_SERVICES *gRT; // 0x1308
EFI_BOOT_SERVICES *gBS; // 0x1320
EFI_STATUS_CODE_PROTOCOL *mDebugProtocol; // 0x1318
EFI_RUNTIME_SERVICES *RuntimeServices; // 0x1328
VOID *gSmst; // 0x1330 / 0x1310
UINT8 mSmmMode; // 0x1338
VOID *mRuntimeServicesProtocolSmm; // 0x1340
UINT8 mInSmmMode; // 0x1348
VOID *mStatusCodeProtocolSmm; // 0x1350
VOID *mRuntimeServicesProtocolBoot; // 0x1358
VOID *mSmmRuntimeServicesTable; // 0x1360
VOID *mStatusCodeProtocolBoot; // 0x1368
UINT8 mCmosByte; // 0x1378
UINT8 gSetJumpBuffer[248]; // 0x1380
EFI_GUID gEfiSmmStatusCodeProtocolGuid; // 0x1280
EFI_GUID gEfiStatusCodeRuntimeProtocolGuid; // 0x1290
EFI_GUID gEfiSmmBaseProtocolGuid; // 0x12A0
EFI_GUID gRuntimeSmmCallbackProtocolGuid; // 0x12B0
EFI_GUID gRuntimeServicesProtocolGuid; // 0x12C0
EFI_GUID gSmmRuntimeServicesProtocolGuid; // 0x12D0
EFI_GUID gSmmRuntimeServicesTableGuid; // 0x12E0
//
// Recovered function names
//
EFI_STATUS
EFIAPI
RuntimeSmmCacheSystemServices (
VOID
)
{
gImageHandle = NULL;
gST = NULL;
gBS = NULL;
gRT = NULL;
gSmst = NULL;
return EFI_SUCCESS;
}
EFI_STATUS
EFIAPI
RuntimeSmmDispatch (
EFI_HANDLE ImageHandle,
EFI_SYSTEM_TABLE *SystemTable
)
{
(VOID)ImageHandle;
(VOID)SystemTable;
return RuntimeSmmInitialize();
}
VOID
EFIAPI
RuntimeSmmSetJump (
VOID
)
{
}
VOID
EFIAPI
RuntimeSmmLongJump (
VOID
)
{
}
EFI_STATUS
EFIAPI
RuntimeSmmInitJumpState (
EFI_HANDLE ImageHandle,
EFI_SYSTEM_TABLE *SystemTable
)
{
(VOID)ImageHandle;
(VOID)SystemTable;
RuntimeSmmCacheSystemServices();
return RuntimeSmmDispatch(ImageHandle, SystemTable);
}
EFI_STATUS
EFIAPI
RuntimeSmmDefaultProtocolNotifyHandler (
VOID
)
{
return EFI_UNSUPPORTED;
}
EFI_STATUS
EFIAPI
RuntimeSmmRegisterProtocolNotifyTable (
VOID
)
{
return EFI_SUCCESS;
}
EFI_STATUS
EFIAPI
RuntimeSmmInitialize (
VOID
)
{
return EFI_SUCCESS;
}
EFI_STATUS
EFIAPI
RuntimeSmmLocateDebugProtocol (
VOID
)
{
return EFI_SUCCESS;
}
EFI_STATUS
EFIAPI
RuntimeSmmReportStatusCodeHandler (
VOID
)
{
return EFI_SUCCESS;
}
EFI_STATUS
EFIAPI
RuntimeSmmReportStatusCodeExHandler (
VOID
)
{
return EFI_SUCCESS;
}
EFI_STATUS
EFIAPI
RuntimeSmmReadRuntimeModeFromCmos (
VOID
)
{
return EFI_SUCCESS;
}
EFI_STATUS
EFIAPI
RuntimeSmmValidateJumpBuffer (
VOID
)
{
return EFI_SUCCESS;
}
EFI_STATUS
EFIAPI
RuntimeSmmRegisterRuntimeServices (
VOID
)
{
return EFI_SUCCESS;
}
EFI_STATUS
EFIAPI
RuntimeSmmRegisterStatusCodeProtocol (
VOID
)
{
return EFI_SUCCESS;
}
EFI_STATUS
EFIAPI
RuntimeSmmFindCallbackProtocol (
VOID
)
{
return EFI_SUCCESS;
}
EFI_STATUS
EFIAPI
RuntimeSmmCompareGuid (
VOID
)
{
return EFI_SUCCESS;
}
EFI_STATUS
EFIAPI
_ModuleEntryPoint (
EFI_HANDLE ImageHandle,
EFI_SYSTEM_TABLE *SystemTable
)
{
return RuntimeSmmInitJumpState(ImageHandle, SystemTable);
}
EFI_STATUS
EFIAPI
ModuleEntryPoint (
EFI_HANDLE ImageHandle,
EFI_SYSTEM_TABLE *SystemTable
)
{
return _ModuleEntryPoint(ImageHandle, SystemTable);
}