/** @file
SmbiosRpTable.h -- Header for SmbiosRpTable
Copyright (c) HR650X BIOS Decompilation Project
**/
#ifndef __SMBIOSRPTABLE_H__
#define __SMBIOSRPTABLE_H__
#include "../uefi_headers/Uefi.h"
//
// Function Prototypes
//
EFI_STATUS
EFIAPI
ZeroMemAligned64(
VOID
);
EFI_STATUS
EFIAPI
ModuleEntryPoint(
VOID
);
EFI_STATUS
EFIAPI
UefiMainEntry(
VOID
);
EFI_STATUS
EFIAPI
SmbiosType133RecordInstall(
VOID
);
EFI_STATUS
EFIAPI
DebugPrint(
VOID
);
EFI_STATUS
EFIAPI
GetPlatformDebugLevel(
VOID
);
EFI_STATUS
EFIAPI
DebugAssert(
VOID
);
EFI_STATUS
EFIAPI
ReadUnaligned64(
VOID
);
EFI_STATUS
EFIAPI
CompareGuid(
VOID
);
EFI_STATUS
EFIAPI
variables(
VOID
);
EFI_STATUS
EFIAPI
ImageHandle = NULL;(
VOID
);
EFI_STATUS
EFIAPI
8-byte aligned chunks first.(
VOID
);
EFI_STATUS
EFIAPI
((UINT32 *)Buffer, 0, (UINT32)(Length >> 3));(
VOID
);
EFI_STATUS
EFIAPI
the remaining bytes (0-7).(
VOID
);
EFI_STATUS
EFIAPI
((
VOID
);
EFI_STATUS
EFIAPI
the DXE global variables (ImageHandle, SystemTable(
VOID
);
EFI_STATUS
EFIAPI
(ImageHandle, SystemTable);(
VOID
);
EFI_STATUS
EFIAPI
the SMBIOS protocol.(
VOID
);
EFI_STATUS
EFIAPI
= gBS->LocateProtocol ((
VOID
);
EFI_STATUS
EFIAPI
a Type 133 SMBIOS record with the communication buffer address.(
VOID
);
EFI_STATUS
EFIAPI
SmbiosType133RecordInstall (SmbiosProtocol);(
VOID
);
EFI_STATUS
EFIAPI
the HOB list from the system configuration table.(
VOID
);
EFI_STATUS
EFIAPI
();(
VOID
);
EFI_STATUS
EFIAPI
HII protocol GUIDs.(
VOID
);
EFI_STATUS
EFIAPI
ACPI NVS memory for BIOS utility communication buffer (16KB).(
VOID
);
EFI_STATUS
EFIAPI
= 0xFFFFFFFFULL;(
VOID
);
EFI_STATUS
EFIAPI
the SMBIOS record structure.(
VOID
);
EFI_STATUS
EFIAPI
= (SMBIOS_STRUCTURE *)AllocateACPINvsBuffer ();(
VOID
);
EFI_STATUS
EFIAPI
the record buffer (14 bytes for type 133 header + 2 handle).(
VOID
);
EFI_STATUS
EFIAPI
((UINTN)SmbiosRecord);(
VOID
);
EFI_STATUS
EFIAPI
in Type 133 SMBIOS record:(
VOID
);
EFI_STATUS
EFIAPI
= SMBIOS_TYPE_BIOS_UTILITY_COMMUNICATION (133)(
VOID
);
EFI_STATUS
EFIAPI
= 0x0C85 (3205)(
VOID
);
EFI_STATUS
EFIAPI
= ACPI NVS physical address(
VOID
);
EFI_STATUS
EFIAPI
= 0x4000 (16KB)(
VOID
);
EFI_STATUS
EFIAPI
= (EFI_SMBIOS_TABLE_HEADER *)SmbiosRecord;(
VOID
);
EFI_STATUS
EFIAPI
record payload contains:(
VOID
);
EFI_STATUS
EFIAPI
the SMBIOS record.(
VOID
);
EFI_STATUS
EFIAPI
= SmbiosProtocol->Add ((
VOID
);
EFI_STATUS
EFIAPI
attempt to locate protocol if we have a sane number of CPUs.(
VOID
);
EFI_STATUS
EFIAPI
NULL;(
VOID
);
EFI_STATUS
EFIAPI
the platform debug level via CMOS index 0x4B.(
VOID
);
EFI_STATUS
EFIAPI
= GetPlatformDebugLevel ();(
VOID
);
EFI_STATUS
EFIAPI
level only: 0x80000004 (EFI_D_ERROR)(
VOID
);
EFI_STATUS
EFIAPI
= DEBUG_ERROR;(
VOID
);
EFI_STATUS
EFIAPI
all except DEBUG_ERROR when in verbose mode.(
VOID
);
EFI_STATUS
EFIAPI
= DEBUG_VERBOSE;(
VOID
);
EFI_STATUS
EFIAPI
CMOS index 0x4B (debug level register).(
VOID
);
EFI_STATUS
EFIAPI
= IoRead8 (CMOS_INDEX_PORT);(
VOID
);
EFI_STATUS
EFIAPI
extended memory for debug settings on certain platforms.(
VOID
);
EFI_STATUS
EFIAPI
(DebugLevel == 0) {(
VOID
);
EFI_STATUS
EFIAPI
for gEfiHobListGuid match.(
VOID
);
EFI_STATUS
EFIAPI
(CompareGuid (&gEfiHobListGuid, Guid1)) {(
VOID
);
EFI_STATUS
EFIAPI
we get here, the HOB list was not found.(
VOID
);
EFI_STATUS
EFIAPI
((EFI_D_ERROR, "\nASSERT_EFI_ERROR (Status = %r)\n", EFI_NOT_FOUND));(
VOID
);
EFI_STATUS
EFIAPI
the first 8 bytes (Data1 + Data2 + Data3).(
VOID
);
EFI_STATUS
EFIAPI
(ReadUnaligned64 ((UINT64 *)Guid1) != ReadUnaligned64 ((UINT64 *)Guid2)) {(
VOID
);
EFI_STATUS
EFIAPI
last 8 bytes (Data4).(
VOID
);
EFI_STATUS
EFIAPI
ReadUnaligned64 ((UINT64 *)Guid1->Data4) == ReadUnaligned64 ((UINT64 *)Guid2->Data4);(
VOID
);
#endif /* __SMBIOSRPTABLE_H__ */