/** @file
SmbiosDataUpdateDxeLightningRidgeEXECB4.h -- Header for SmbiosDataUpdateDxeLightningRidgeEXECB4
Copyright (c) HR650X BIOS Decompilation Project
**/
#ifndef __SMBIOSDATAUPDATEDXELIGHTNINGRIDGEEXECB4_H__
#define __SMBIOSDATAUPDATEDXELIGHTNINGRIDGEEXECB4_H__
#include "../uefi_headers/Uefi.h"
//
// Function Prototypes
//
EFI_STATUS
EFIAPI
DebugPrint(
VOID
);
EFI_STATUS
EFIAPI
DebugAssert(
VOID
);
EFI_STATUS
EFIAPI
ReadUnaligned64(
VOID
);
EFI_STATUS
EFIAPI
CompareGuid(
VOID
);
EFI_STATUS
EFIAPI
SmbiosDataUpdateEntryPoint(
VOID
);
EFI_STATUS
EFIAPI
OnAcpiProcessorIdNotify(
VOID
);
EFI_STATUS
EFIAPI
OnSmbiosDataNotify(
VOID
);
EFI_STATUS
EFIAPI
UEFI system table pointers(
VOID
);
EFI_STATUS
EFIAPI
gImageHandle = NULL; ///< Pointer to 0xF550(
VOID
);
EFI_STATUS
EFIAPI
list pointer - cached after first retrieval(
VOID
);
EFI_STATUS
EFIAPI
mHobList = 0; ///< Pointer to 0xF568(
VOID
);
EFI_STATUS
EFIAPI
protocol interface - cached after first retrieval(
VOID
);
EFI_STATUS
EFIAPI
*mDebugProtocol = NULL; ///< Pointer to 0xF560(
VOID
);
EFI_STATUS
EFIAPI
platform type register(
VOID
);
EFI_STATUS
EFIAPI
UINT8 mCmosPlatformType = 0; ///< Pointer to 0xF570(
VOID
);
EFI_STATUS
EFIAPI
(ACPI Processor ID Mapping) table(
VOID
);
EFI_STATUS
EFIAPI
table maps physical processor packages/cores to ACPI processor IDs.(
VOID
);
EFI_STATUS
EFIAPI
CONST ACPF_TABLE_HEADER mAcpfTable = {(
VOID
);
EFI_STATUS
EFIAPI
update context table for ACPI processor ID mapping.(
VOID
);
EFI_STATUS
EFIAPI
the list of data regions to update in SMBIOS.(
VOID
);
EFI_STATUS
EFIAPI
CONST SMBIOS_UPDATE_CONTEXT_TABLE mProcIdContextTable = {(
VOID
);
EFI_STATUS
EFIAPI
at runtime-relative addresses 0x9040 and 0x90C8 respectively.(
VOID
);
EFI_STATUS
EFIAPI
structures are installed via protocol notifications in the(
VOID
);
EFI_STATUS
EFIAPI
point.(
VOID
);
EFI_STATUS
EFIAPI
cached protocol if already located(
VOID
);
EFI_STATUS
EFIAPI
(mDebugProtocol != NULL) {(
VOID
);
EFI_STATUS
EFIAPI
available pool size; require at least 0x10 bytes(
VOID
);
EFI_STATUS
EFIAPI
= gBS->GetMemoryMap (&gBS->Hdr.Size, NULL, NULL, NULL, NULL);(
VOID
);
EFI_STATUS
EFIAPI
the debug protocol by its GUID(
VOID
);
EFI_STATUS
EFIAPI
= NULL;(
VOID
);
EFI_STATUS
EFIAPI
the platform type from CMOS register 0x4B(
VOID
);
EFI_STATUS
EFIAPI
= IoRead8 (CMOS_INDEX_REGISTER);(
VOID
);
EFI_STATUS
EFIAPI
messages based on platform type(
VOID
);
EFI_STATUS
EFIAPI
= PlatformType;(
VOID
);
EFI_STATUS
EFIAPI
platform type from alternate location(
VOID
);
EFI_STATUS
EFIAPI
(PlatformType == 0) {(
VOID
);
EFI_STATUS
EFIAPI
the message mask matches the allowed output, display the message(
VOID
);
EFI_STATUS
EFIAPI
((AllowedMask & Mask) != 0) {(
VOID
);
EFI_STATUS
EFIAPI
the assertion handler at protocol offset +8(
VOID
);
EFI_STATUS
EFIAPI
each GUID as two 64-bit halves for comparison(
VOID
);
EFI_STATUS
EFIAPI
= ReadUnaligned64 (Guid1);(
VOID
);
EFI_STATUS
EFIAPI
cached HOB list if already retrieved(
VOID
);
EFI_STATUS
EFIAPI
(mHobList != 0) {(
VOID
);
EFI_STATUS
EFIAPI
the HOB list pointer from the System Table(
VOID
);
EFI_STATUS
EFIAPI
= 0;(
VOID
);
EFI_STATUS
EFIAPI
through HOB entries to find the SMBIOS table HOB(
VOID
);
EFI_STATUS
EFIAPI
HOB not found - trigger assertion(
VOID
);
EFI_STATUS
EFIAPI
((EFI_D_ERROR, "\nASSERT_EFI_ERROR (Status = %r)\n", EFI_NOT_FOUND));(
VOID
);
EFI_STATUS
EFIAPI
the SMBIOS data from the found HOB entry(
VOID
);
EFI_STATUS
EFIAPI
= *(EFI_PHYSICAL_ADDRESS *)((
VOID
);
EFI_STATUS
EFIAPI
HOB entries present(
VOID
);
EFI_STATUS
EFIAPI
the result(
VOID
);
EFI_STATUS
EFIAPI
(mHobList == 0) {(
VOID
);
EFI_STATUS
EFIAPI
and validate ImageHandle(
VOID
);
EFI_STATUS
EFIAPI
= ImageHandle;(
VOID
);
EFI_STATUS
EFIAPI
and validate SystemTable(
VOID
);
EFI_STATUS
EFIAPI
= SystemTable;(
VOID
);
EFI_STATUS
EFIAPI
and validate BootServices(
VOID
);
EFI_STATUS
EFIAPI
= SystemTable->BootServices;(
VOID
);
EFI_STATUS
EFIAPI
and validate RuntimeServices(
VOID
);
EFI_STATUS
EFIAPI
= SystemTable->RuntimeServices;(
VOID
);
EFI_STATUS
EFIAPI
the SMBIOS HOB list(
VOID
);
EFI_STATUS
EFIAPI
= GetSmbiosHobList (ImageHandle);(
VOID
);
EFI_STATUS
EFIAPI
protocol notification for ACPI processor ID mapping(
VOID
);
EFI_STATUS
EFIAPI
a notify function to be called when the ACPI processor ID(
VOID
);
EFI_STATUS
EFIAPI
protocol becomes available.(
VOID
);
EFI_STATUS
EFIAPI
protocol notification for SMBIOS data update(
VOID
);
EFI_STATUS
EFIAPI
a notify function for the second SMBIOS data update channel.(
VOID
);
EFI_STATUS
EFIAPI
= gBS->RegisterProtocolNotify ((
VOID
);
EFI_STATUS
EFIAPI
protocol notification for the third data channel(
VOID
);
EFI_STATUS
EFIAPI
a notify function for the PIRQ routing data.(
VOID
);
EFI_STATUS
EFIAPI
the ACPF table and update SMBIOS processor ID data.(
VOID
);
EFI_STATUS
EFIAPI
callback handles the UMPT (Uncore Memory Protocol Table)(
VOID
);
EFI_STATUS
EFIAPI
installation event.(
VOID
);
EFI_STATUS
EFIAPI
SMBIOS data at table offset 0x9040 contains the processor(
VOID
);
EFI_STATUS
EFIAPI
entries that map ACPI processor IDs to physical(
VOID
);
EFI_STATUS
EFIAPI
the PIRQ routing data and update SMBIOS interrupt tables.(
VOID
);
EFI_STATUS
EFIAPI
callback handles the PIRQ protocol installation event.(
VOID
);
EFI_STATUS
EFIAPI
PIRQ routing data at table offset 0x90C8 contains the(
VOID
);
EFI_STATUS
EFIAPI
routing entries for the LightningRidge platform.(
VOID
);
#endif /* __SMBIOSDATAUPDATEDXELIGHTNINGRIDGEEXECB4_H__ */