/** @file
SmbiosBoard.h -- Header for SmbiosBoard
Copyright (c) HR650X BIOS Decompilation Project
**/
#ifndef __SMBIOSBOARD_H__
#define __SMBIOSBOARD_H__
#include "../uefi_headers/Uefi.h"
//
// Function Prototypes
//
EFI_STATUS
EFIAPI
SmbiosBoardEntryPoint(
VOID
);
EFI_STATUS
EFIAPI
GetConfigTable(
VOID
);
EFI_STATUS
EFIAPI
IoRead32(
VOID
);
EFI_STATUS
EFIAPI
GetBoardType(
VOID
);
EFI_STATUS
EFIAPI
WriteBoardConfig(
VOID
);
EFI_STATUS
EFIAPI
GetPciExpressBaseAddress(
VOID
);
EFI_STATUS
EFIAPI
LocateMmPciBaseProtocol(
VOID
);
EFI_STATUS
EFIAPI
UnsupportedStub(
VOID
);
EFI_STATUS
EFIAPI
MmPciAccess(
VOID
);
EFI_STATUS
EFIAPI
DestructorDispatch(
VOID
);
EFI_STATUS
EFIAPI
DebugAssert(
VOID
);
EFI_STATUS
EFIAPI
ReadUnaligned64(
VOID
);
EFI_STATUS
EFIAPI
CompareGuid(
VOID
);
EFI_STATUS
EFIAPI
NullCallback(
VOID
);
EFI_STATUS
EFIAPI
ReadTsc(
VOID
);
EFI_STATUS
EFIAPI
ReadCallerEflags(
VOID
);
EFI_STATUS
EFIAPI
CpuPause(
VOID
);
EFI_STATUS
EFIAPI
EnableInterrupts(
VOID
);
EFI_STATUS
EFIAPI
DisableInterrupts(
VOID
);
EFI_STATUS
EFIAPI
Protocol GUID:(
VOID
);
EFI_STATUS
EFIAPI
gSmbiosBoardProtocolGuid = SMBIOS_BOARD_PROTOCOL_GUID;(
VOID
);
EFI_STATUS
EFIAPI
gMmPciBaseProtocolGuid = MMPCI_BASE_PROTOCOL_GUID;(
VOID
);
EFI_STATUS
EFIAPI
instance globals (populated at entry)(
VOID
);
EFI_STATUS
EFIAPI
gImageHandle = NULL;(
VOID
);
EFI_STATUS
EFIAPI
Protocol instance.(
VOID
);
EFI_STATUS
EFIAPI
board data and function dispatch table installed at entry.(
VOID
);
EFI_STATUS
EFIAPI
SMBIOS_BOARD_PROTOCOL mSmbiosBoardProtocol = {(
VOID
);
EFI_STATUS
EFIAPI
- board type and identification bytes(
VOID
);
EFI_STATUS
EFIAPI
//(
VOID
);
EFI_STATUS
EFIAPI
- LocateMmPciBaseProtocol(
VOID
);
EFI_STATUS
EFIAPI
callback table (terminated by NULL entry)(
VOID
);
EFI_STATUS
EFIAPI
VOID (*mDestructorTable[])(VOID) = {(
VOID
);
EFI_STATUS
EFIAPI
library globals(
VOID
);
EFI_STATUS
EFIAPI
= ImageHandle;(
VOID
);
EFI_STATUS
EFIAPI
DxeServicesTable from configuration table(
VOID
);
EFI_STATUS
EFIAPI
= GetConfigTable (&gEfiDxeServicesTableGuid, (VOID **)&gDS);(
VOID
);
EFI_STATUS
EFIAPI
MmPciBase protocol for PCI configuration space access(
VOID
);
EFI_STATUS
EFIAPI
(mPciUsra == NULL) {(
VOID
);
EFI_STATUS
EFIAPI
HOB list(
VOID
);
EFI_STATUS
EFIAPI
();(
VOID
);
EFI_STATUS
EFIAPI
PCD protocol for PCIe configuration(
VOID
);
EFI_STATUS
EFIAPI
= GetPcdProtocol ();(
VOID
);
EFI_STATUS
EFIAPI
PCI Express base address from PCD token 5(
VOID
);
EFI_STATUS
EFIAPI
= PcdProtocol->Get64 (5);(
VOID
);
EFI_STATUS
EFIAPI
PCIe segment/bus table size from PCD token 7(
VOID
);
EFI_STATUS
EFIAPI
= (UINT64)PcdProtocol->Get64 (7);(
VOID
);
EFI_STATUS
EFIAPI
PCIe segment/bus table to static buffer(
VOID
);
EFI_STATUS
EFIAPI
((VOID *)(UINTN)&mSmbiosBoardProtocol.PcdSizeConstant(
VOID
);
EFI_STATUS
EFIAPI
board configuration flag to PCI config space(
VOID
);
EFI_STATUS
EFIAPI
(GetPciExpressBaseAddress () >= 0) {(
VOID
);
EFI_STATUS
EFIAPI
board type from CMOS/RTC(
VOID
);
EFI_STATUS
EFIAPI
= ReadCallerEflags ();(
VOID
);
EFI_STATUS
EFIAPI
spin-wait loop: wait ~2 seconds (33554432 * TSC ticks)(
VOID
);
EFI_STATUS
EFIAPI
= ReadTsc ();(
VOID
);
EFI_STATUS
EFIAPI
interrupt state(
VOID
);
EFI_STATUS
EFIAPI
(InterruptsWereEnabled) {(
VOID
);
EFI_STATUS
EFIAPI
SmbiosBoard protocol(
VOID
);
EFI_STATUS
EFIAPI
CMOS register 0x4B(
VOID
);
EFI_STATUS
EFIAPI
NMI mask (bit 7) in index register 0x70(
VOID
);
EFI_STATUS
EFIAPI
= __inbyte (0x70);(
VOID
);
EFI_STATUS
EFIAPI
battery may be dead; read chipset straps from(
VOID
);
EFI_STATUS
EFIAPI
= (*(volatile UINT8 *)(UINTN)0xFDAF0490) & 2 | 1;(
VOID
);
EFI_STATUS
EFIAPI
1024064 / 1024068 corresponds to the PCIe base address PCD(
VOID
);
EFI_STATUS
EFIAPI
(Address & ~0xFFFFFFF) {(
VOID
);
EFI_STATUS
EFIAPI
UEFI, the address validation is for addresses with bits beyond(
VOID
);
/// the ASSERT below would fire
EFI_STATUS
EFIAPI
28-bit PCIe MMIO window(
VOID
);
EFI_STATUS
EFIAPI
protocol's entry at offset 0x20 (index 4 into vtable)(
VOID
);
EFI_STATUS
EFIAPI
expected to be a function with:(
VOID
);
EFI_STATUS
EFIAPI
this driver, Operation=4, with a result buffer.(
VOID
);
EFI_STATUS
EFIAPI
= 1;(
VOID
);
EFI_STATUS
EFIAPI
StatusCode Runtime Protocol for debug output(
VOID
);
EFI_STATUS
EFIAPI
= gBS->LocateProtocol ((
VOID
);
EFI_STATUS
EFIAPI
status code with the assertion message(
VOID
);
EFI_STATUS
EFIAPI
= &Src[Length - 1];(
VOID
);
EFI_STATUS
EFIAPI
remainder byte-by-byte (backwards)(
VOID
);
EFI_STATUS
EFIAPI
( ; Length != 0; Length--) {(
VOID
);
EFI_STATUS
EFIAPI
overlap or Source after Destination: copy forwards(
VOID
);
EFI_STATUS
EFIAPI
= Length;(
VOID
);
EFI_STATUS
EFIAPI
remaining bytes(
VOID
);
#endif /* __SMBIOSBOARD_H__ */