/** @file
DxeSelStatusCode.h -- Header for DxeSelStatusCode
Copyright (c) HR650X BIOS Decompilation Project
**/
#ifndef __DXESELSTATUSCODE_H__
#define __DXESELSTATUSCODE_H__
#include "../uefi_headers/Uefi.h"
//
// Function Prototypes
//
EFI_STATUS
EFIAPI
UefiBootServicesTableLibConstructor(
VOID
);
EFI_STATUS
EFIAPI
ReportStatusCodeLibDestructor(
VOID
);
EFI_STATUS
EFIAPI
BootServicesCleanup(
VOID
);
EFI_STATUS
EFIAPI
RuntimeProtocolCleanup(
VOID
);
EFI_STATUS
EFIAPI
ModuleEntryPoint(
VOID
);
EFI_STATUS
EFIAPI
SetVirtualAddressMapHandler(
VOID
);
EFI_STATUS
EFIAPI
SelMapStatusCodeToEventData(
VOID
);
EFI_STATUS
EFIAPI
SelWriteEventToRecord(
VOID
);
EFI_STATUS
EFIAPI
SelClearEventRecord(
VOID
);
EFI_STATUS
EFIAPI
SelStatusCodeEntryInit(
VOID
);
EFI_STATUS
EFIAPI
DebugPrintWithLevel(
VOID
);
EFI_STATUS
EFIAPI
DebugAssert(
VOID
);
EFI_STATUS
EFIAPI
nullsub_1(
VOID
);
EFI_STATUS
EFIAPI
RuntimeProtocolNotifyCleanup(
VOID
);
EFI_STATUS
EFIAPI
SmbiosProtocolInit(
VOID
);
EFI_STATUS
EFIAPI
SmbiosProtocolCleanup(
VOID
);
EFI_STATUS
EFIAPI
ReportStatusCodeNotifyShutdown(
VOID
);
EFI_STATUS
EFIAPI
SelAddEventRecord(
VOID
);
EFI_STATUS
EFIAPI
SelCheckRedundancyStatus(
VOID
);
EFI_STATUS
EFIAPI
SelManageEventLog(
VOID
);
EFI_STATUS
EFIAPI
HobGuidCompare(
VOID
);
EFI_STATUS
EFIAPI
ReadUnaligned64(
VOID
);
EFI_STATUS
EFIAPI
Variables(
VOID
);
EFI_STATUS
EFIAPI
gImageHandle = NULL;(
VOID
);
EFI_STATUS
EFIAPI
EFI_RUNTIME_SERVICES *gRuntimeServices2 = NULL; // RuntimeServices_1(
VOID
);
EFI_STATUS
EFIAPI
// SEL configuration state(
VOID
);
EFI_STATUS
EFIAPI
UINT8 gEnableRedundancy = 0; // byte_4410(
VOID
);
EFI_STATUS
EFIAPI
UINT8 gSelOperationMode = 0; // n2 (0x4420)(
VOID
);
EFI_STATUS
EFIAPI
VOID *gHobList = NULL; // qword_43C8(
VOID
);
EFI_STATUS
EFIAPI
UINT8 gSmbiosInitialized = 0; // byte_43D0(
VOID
);
EFI_STATUS
EFIAPI
EFI_EVENT gBootServicesCleanupEvent = NULL; // qword_43B0(
VOID
);
EFI_STATUS
EFIAPI
EFI_EVENT gSmbiosCleanupEvent = NULL; // qword_43E8(
VOID
);
EFI_STATUS
EFIAPI
EFI_EVENT gRuntimeProtocolCleanupEvent = NULL; // qword_43A8(
VOID
);
EFI_STATUS
EFIAPI
at qword_43B8(
VOID
);
EFI_STATUS
EFIAPI
Event Record Mapping Table(
VOID
);
EFI_STATUS
EFIAPI
entries x 12 bytes mapping UEFI status code classes to IPMI(
VOID
);
EFI_STATUS
EFIAPI
number, sensor type, event direction, and event data.(
VOID
);
EFI_STATUS
EFIAPI
gSelEventMapTable[] = {(
VOID
);
EFI_STATUS
EFIAPI
Prototypes(
VOID
);
EFI_STATUS
EFIAPI
EFIAPI(
VOID
);
EFI_STATUS
EFIAPI
Entry Point(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_10F8)(
VOID
);
EFI_STATUS
EFIAPI
UEFI boot services table library state. Registers(
VOID
);
EFI_STATUS
EFIAPI
boot services and set virtual address map events. Locates(
VOID
);
EFI_STATUS
EFIAPI
protocol and debug print protocol instances.(
VOID
);
EFI_STATUS
EFIAPI
global pointers(
VOID
);
EFI_STATUS
EFIAPI
BootServices cleanup event(
VOID
);
EFI_STATUS
EFIAPI
runtime protocol cleanup event(
VOID
);
EFI_STATUS
EFIAPI
SetVirtualAddressMap notify for runtime library(
VOID
);
EFI_STATUS
EFIAPI
runtime protocol notify(
VOID
);
EFI_STATUS
EFIAPI
SMBIOS cleanup(
VOID
);
EFI_STATUS
EFIAPI
ReportStatusCode shutdown(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_1424)(
VOID
);
EFI_STATUS
EFIAPI
all registered events and frees protocol resources.(
VOID
);
EFI_STATUS
EFIAPI
on error unwind or module unload.(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_15CC)(
VOID
);
EFI_STATUS
EFIAPI
gRuntimeServicesCopy and gIpmiTransport for virtual(
VOID
);
EFI_STATUS
EFIAPI
after SetVirtualAddressMap.(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_15FC)(
VOID
);
EFI_STATUS
EFIAPI
the SEL event mapping table for an entry matching the(
VOID
);
EFI_STATUS
EFIAPI
status code value and instance. If found, builds a 16-byte(
VOID
);
EFI_STATUS
EFIAPI
SEL event record data buffer.(
VOID
);
EFI_STATUS
EFIAPI
redundancy status(
VOID
);
EFI_STATUS
EFIAPI
the record first(
VOID
);
EFI_STATUS
EFIAPI
with redundancy(
VOID
);
EFI_STATUS
EFIAPI
record data structure(
VOID
);
EFI_STATUS
EFIAPI
ID = 0(
VOID
);
EFI_STATUS
EFIAPI
Type = 2 (SEL)(
VOID
);
EFI_STATUS
EFIAPI
= 0(
VOID
);
EFI_STATUS
EFIAPI
ID(
VOID
);
EFI_STATUS
EFIAPI
Message Format Version(
VOID
);
EFI_STATUS
EFIAPI
Type + Event Direction(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_16D4)(
VOID
);
EFI_STATUS
EFIAPI
an IPMI SEL event record using the transport protocol.(
VOID
);
EFI_STATUS
EFIAPI
reserve and append operations.(
VOID
);
EFI_STATUS
EFIAPI
if redundancy not needed(
VOID
);
EFI_STATUS
EFIAPI
status code to SEL event data(
VOID
);
EFI_STATUS
EFIAPI
transport write command(
VOID
);
EFI_STATUS
EFIAPI
0x0A(
VOID
);
EFI_STATUS
EFIAPI
0x44(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_175C)(
VOID
);
EFI_STATUS
EFIAPI
an IPMI SEL event record. Validates sensor type.(
VOID
);
EFI_STATUS
EFIAPI
type(
VOID
);
EFI_STATUS
EFIAPI
IPMI transport to clear SEL(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_17E0)(
VOID
);
EFI_STATUS
EFIAPI
initialization for the SEL Status Code driver. Reads platform(
VOID
);
EFI_STATUS
EFIAPI
from the "ServerSetup" UEFI variable, locates the IPMI(
VOID
);
EFI_STATUS
EFIAPI
protocol, registers SetVirtualAddressMap notification, and(
VOID
);
EFI_STATUS
EFIAPI
the SEL event clearing/smm notification protocol.(
VOID
);
EFI_STATUS
EFIAPI
IPMI transport protocol(
VOID
);
EFI_STATUS
EFIAPI
ServerSetup variable(
VOID
);
EFI_STATUS
EFIAPI
SEL clear operation(
VOID
);
EFI_STATUS
EFIAPI
redundancy(
VOID
);
EFI_STATUS
EFIAPI
SEL event handling(
VOID
);
EFI_STATUS
EFIAPI
SMM communication protocol(
VOID
);
EFI_STATUS
EFIAPI
SetVirtualAddressMap event(
VOID
);
EFI_STATUS
EFIAPI
SMM communication/SMBIOS dispatch protocol(
VOID
);
EFI_STATUS
EFIAPI
clear handler(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_1A48)(
VOID
);
EFI_STATUS
EFIAPI
memory and locates the debug print protocol. Used for(
VOID
);
EFI_STATUS
EFIAPI
and debug output.(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_1AD0)(
VOID
);
EFI_STATUS
EFIAPI
current debug verbosity level (via CMOS) and prints message(
VOID
);
EFI_STATUS
EFIAPI
level matches. Used by ASSERT_EFI_ERROR macro output.(
VOID
);
EFI_STATUS
EFIAPI
debug level from CMOS (offset 0x4B)(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_1B50)(
VOID
);
EFI_STATUS
EFIAPI
EDK2 ASSERT handler. Prints file/line/expression and(
VOID
);
EFI_STATUS
EFIAPI
dead loop.(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_1B90)(
VOID
);
EFI_STATUS
EFIAPI
callback. Nullifies the BootServices_0 pointer(
VOID
);
EFI_STATUS
EFIAPI
prevent use after boot services exit.(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_1B9C)(
VOID
);
EFI_STATUS
EFIAPI
callback. Converts the debug print protocol(
VOID
);
EFI_STATUS
EFIAPI
for runtime virtual addressing.(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_1BC4)(
VOID
);
EFI_STATUS
EFIAPI
the GUIDed HOB entry in the system HOB list. Used to find(
VOID
);
EFI_STATUS
EFIAPI
SMBIOS table or other platform configuration tables.(
VOID
);
EFI_STATUS
EFIAPI
HOB list from SystemTable(
VOID
);
EFI_STATUS
EFIAPI
(formerly nullsub_1)(
VOID
);
EFI_STATUS
EFIAPI
but need a registered callback.(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_1CA0)(
VOID
);
EFI_STATUS
EFIAPI
notification to convert the gRuntimeServices2(
VOID
);
EFI_STATUS
EFIAPI
to virtual addressing.(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_1CB4)(
VOID
);
EFI_STATUS
EFIAPI
the SMBIOS protocol instance. Used for SMBIOS table access(
VOID
);
EFI_STATUS
EFIAPI
SEL event logging.(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_1D14)(
VOID
);
EFI_STATUS
EFIAPI
callback to convert the SMBIOS protocol(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_1D3C)(
VOID
);
EFI_STATUS
EFIAPI
notification. Initializes SMBIOS protocol for(
VOID
);
EFI_STATUS
EFIAPI
and marks initialization complete.(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_1D54)(
VOID
);
EFI_STATUS
EFIAPI
a SEL event record via the IPMI transport. Retries up to(
VOID
);
EFI_STATUS
EFIAPI
times to handle the reserve-then-add race condition with(
VOID
);
EFI_STATUS
EFIAPI
BMC.(
VOID
);
EFI_STATUS
EFIAPI
reserve SEL command(
VOID
);
EFI_STATUS
EFIAPI
SEL reserve(
VOID
);
EFI_STATUS
EFIAPI
SEL add(
VOID
);
EFI_STATUS
EFIAPI
length(
VOID
);
EFI_STATUS
EFIAPI
reserve flag(
VOID
);
EFI_STATUS
EFIAPI
lost/gained - need to retry(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_1E30)(
VOID
);
EFI_STATUS
EFIAPI
the IPMI SEL status via the transport protocol to determine(
VOID
);
EFI_STATUS
EFIAPI
the SEL is operational, has available space, and redundancy is(
VOID
);
EFI_STATUS
EFIAPI
0x0A, Cmd 0x40 (Get SEL Info)(
VOID
);
EFI_STATUS
EFIAPI
NetFn Storage(
VOID
);
EFI_STATUS
EFIAPI
SEL Info(
VOID
);
EFI_STATUS
EFIAPI
7: SEL State (bit 3 = Redundancy, bit 7 = Operational)(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_1E98)(
VOID
);
EFI_STATUS
EFIAPI
the IPMI SEL event log. Supports two operations:(
VOID
);
EFI_STATUS
EFIAPI
1: Clear SEL entries matching the status code(
VOID
);
EFI_STATUS
EFIAPI
2: Add SEL entries for status codes(
VOID
);
EFI_STATUS
EFIAPI
mode 2, performs a reserve + add sequence using the IPMI(
VOID
);
EFI_STATUS
EFIAPI
protocol.(
VOID
);
EFI_STATUS
EFIAPI
SEL info to check state(
VOID
);
EFI_STATUS
EFIAPI
has entries - clear or process(
VOID
);
EFI_STATUS
EFIAPI
SEL(
VOID
);
EFI_STATUS
EFIAPI
SEL entries(
VOID
);
EFI_STATUS
EFIAPI
single record not supported(
VOID
);
EFI_STATUS
EFIAPI
entry(
VOID
);
EFI_STATUS
EFIAPI
+ Add(
VOID
);
EFI_STATUS
EFIAPI
response byte 8 for status(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_2048)(
VOID
);
EFI_STATUS
EFIAPI
two GUIDs by reading their QWORD pairs via unaligned(
VOID
);
EFI_STATUS
EFIAPI
(formerly sub_20B8)(
VOID
);
EFI_STATUS
EFIAPI
a 64-bit value from potentially unaligned memory.(
VOID
);
#endif /* __DXESELSTATUSCODE_H__ */