/** @file
PiSmmCommunicationSmm.c -- PiSmmCommunicationSmm
Auto-converted from IDA decompiler output.
Functions: 1
Copyright (c) HR650X BIOS Decompilation Project
**/
#include "PiSmmCommunicationSmm.h"
// Function: ModuleEntryPoint
EFI_STATUS
ModuleEntryPoint (
EFI_HANDLE ImageHandle,
EFI_SYSTEM_TABLE *SystemTable
)
{
__int64 Status; // rax
// Initialize the SMM communication context before registering handlers.
PiSmmCommunicationSmmInitializeContext(ImageHandle, SystemTable);
qword_1578 = 0x8000000000000001uLL;
if (!PiSmmCommunicationSmmIsServicesContextInitialized(&unk_1480)) {
Status = PiSmmCommunicationSmmRegisterCommunicationHandler();
if (Status >= 0 || qword_1578 < 0) {
qword_1578 = Status;
}
PiSmmCommunicationSmmUnregisterCommunicationHandler(&unk_1480);
PiSmmCommunicationSmmResetContext(&unk_1480, -1);
PiSmmCommunicationSmmAutogenTeardownHook(
"e:\\hs\\Build\\HR6N0XMLK\\DEBUG_VS2015\\X64\\UefiCpuPkg\\PiSmmCommunication\\PiSmmCommunicationSmm\\DEBUG\\AutoGen.c",
192,
"((BOOLEAN)(0==1))");
PiSmmCommunicationSmmAutogenTeardownHook(
"e:\\hs\\Build\\HR6N0XMLK\\DEBUG_VS2015\\X64\\UefiCpuPkg\\PiSmmCommunication\\PiSmmCommunicationSmm\\DEBUG\\AutoGen.c",
207,
"((BOOLEAN)(0==1))");
}
return qword_1578;
}