/** @file
SmbiosDataUpdateDxeNeonCityEPECB.h -- Header for SmbiosDataUpdateDxeNeonCityEPECB
Copyright (c) HR650X BIOS Decompilation Project
**/
#ifndef __SMBIOSDATAUPDATEDXENEONCITYEPECB_H__
#define __SMBIOSDATAUPDATEDXENEONCITYEPECB_H__
#include "../uefi_headers/Uefi.h"
//
// Function Prototypes
//
EFI_STATUS
EFIAPI
SmbiosFreePool(
VOID
);
EFI_STATUS
EFIAPI
SmbiosDataUpdateDxeEntryPoint(
VOID
);
EFI_STATUS
EFIAPI
SmbiosDataUpdateEntry(
VOID
);
EFI_STATUS
EFIAPI
SmbiosUpdateBoardTables(
VOID
);
EFI_STATUS
EFIAPI
SmbiosConstructType9Slot(
VOID
);
EFI_STATUS
EFIAPI
SmbiosConstructType17Memory(
VOID
);
EFI_STATUS
EFIAPI
SmbiosConstructType41Device(
VOID
);
EFI_STATUS
EFIAPI
SmbiosInstallTable(
VOID
);
EFI_STATUS
EFIAPI
SmbiosGetPlatformLang(
VOID
);
EFI_STATUS
EFIAPI
SmbiosNotifyEndOfType(
VOID
);
EFI_STATUS
EFIAPI
SmbiosAssert(
VOID
);
EFI_STATUS
EFIAPI
Globals(
VOID
);
EFI_STATUS
EFIAPI
UEFI globals (from UefiBootServicesTableLib(
VOID
);
EFI_STATUS
EFIAPI
gImageHandle = NULL;(
VOID
);
EFI_STATUS
EFIAPI
platform SMBIOS configuration protocol(
VOID
);
EFI_STATUS
EFIAPI
*gUbaPlatformSmbiosProtocol = NULL;(
VOID
);
EFI_STATUS
EFIAPI
handle for SMBIOS string packages(
VOID
);
EFI_STATUS
EFIAPI
gSmbiosStringPackHandle = NULL;(
VOID
);
EFI_STATUS
EFIAPI
protocol interfaces(
VOID
);
EFI_STATUS
EFIAPI
*gHiiDatabaseProtocol = NULL;(
VOID
);
EFI_STATUS
EFIAPI
protocol instance (locate on demand)(
VOID
);
EFI_STATUS
EFIAPI
*gSmbiosProtocol = NULL;(
VOID
);
EFI_STATUS
EFIAPI
*gMmPciBase = NULL;(
VOID
);
EFI_STATUS
EFIAPI
list (HobLib)(
VOID
);
EFI_STATUS
EFIAPI
*mHobList = NULL;(
VOID
);
EFI_STATUS
EFIAPI
Component Name and Driver Binding - AutoGen(
VOID
);
EFI_STATUS
EFIAPI
header: SmbiosDataUpdateDxeStrDefs.h(
VOID
);
EFI_STATUS
EFIAPI
are populated by the build system (AutoGen.c).(
VOID
);
EFI_STATUS
EFIAPI
path from build:(
VOID
);
EFI_STATUS
EFIAPI
Function Wrappers(
VOID
);
EFI_STATUS
EFIAPI
Point(
VOID
);
EFI_STATUS
EFIAPI
UEFI globals for library compatibility(
VOID
);
EFI_STATUS
EFIAPI
= ImageHandle;(
VOID
);
EFI_STATUS
EFIAPI
HII Database Protocol(
VOID
);
EFI_STATUS
EFIAPI
= gBS->LocateProtocol ((
VOID
);
EFI_STATUS
EFIAPI
HII String Protocol(
VOID
);
EFI_STATUS
EFIAPI
HOB list pointer for HobLib(
VOID
);
EFI_STATUS
EFIAPI
= EfiGetSystemConfigurationTable ((
VOID
);
EFI_STATUS
EFIAPI
DxeServicesTable (gDS)(
VOID
);
EFI_STATUS
EFIAPI
PciUsra protocol (Memory Mapped PCI config access)(
VOID
);
EFI_STATUS
EFIAPI
(mPciUsra == NULL) {(
VOID
);
EFI_STATUS
EFIAPI
SMBIOS data update protocol with UBA(
VOID
);
EFI_STATUS
EFIAPI
= SmbiosDataUpdateEntry (ImageHandle, SystemTable);(
VOID
);
EFI_STATUS
EFIAPI
Data Update Entry(
VOID
);
EFI_STATUS
EFIAPI
UBA platform SMBIOS configuration protocol from the(
VOID
);
EFI_STATUS
EFIAPI
PEIM or DXE driver(
VOID
);
EFI_STATUS
EFIAPI
platform GUID into the SMBIOS configuration table(
VOID
);
EFI_STATUS
EFIAPI
((
VOID
);
EFI_STATUS
EFIAPI
HII string packages for SMBIOS string references(
VOID
);
EFI_STATUS
EFIAPI
= HiiAddPackages ((
VOID
);
EFI_STATUS
EFIAPI
SMBIOS table install parameters(
VOID
);
EFI_STATUS
EFIAPI
(TableInstallParams, sizeof (TableInstallParams));(
VOID
);
EFI_STATUS
EFIAPI
SMBIOS protocol if not already found(
VOID
);
EFI_STATUS
EFIAPI
(gSmbiosProtocol == NULL) {(
VOID
);
EFI_STATUS
EFIAPI
UBA board update function to install platform-specific SMBIOS tables(
VOID
);
EFI_STATUS
EFIAPI
SMBIOS table size(
VOID
);
EFI_STATUS
EFIAPI
a reusable work buffer for SMBIOS structure construction(
VOID
);
EFI_STATUS
EFIAPI
= SmbiosAllocateZeroPool (SmbiosTableBufferSize);(
VOID
);
EFI_STATUS
EFIAPI
1: Install SMBIOS Type 9 (System Slots) - up to 30 entries(
VOID
);
EFI_STATUS
EFIAPI
(Index = 0; Index < 30; Index++) {(
VOID
);
EFI_STATUS
EFIAPI
end of type 9 table enumeration(
VOID
);
EFI_STATUS
EFIAPI
(9);(
VOID
);
EFI_STATUS
EFIAPI
2: Install SMBIOS Type 17 (Memory Devices) - up to 8 entries(
VOID
);
EFI_STATUS
EFIAPI
(Index = 0; Index < 8; Index++) {(
VOID
);
EFI_STATUS
EFIAPI
end of type 17 table enumeration(
VOID
);
EFI_STATUS
EFIAPI
(41);(
VOID
);
EFI_STATUS
EFIAPI
3: Install SMBIOS Type 41 (Onboard Devices) - up to 4 entries(
VOID
);
EFI_STATUS
EFIAPI
(Index = 0; Index < 4; Index++) {(
VOID
);
EFI_STATUS
EFIAPI
up work buffer(
VOID
);
EFI_STATUS
EFIAPI
(SmbiosTableBuffer);(
VOID
);
EFI_STATUS
EFIAPI
Type 9 (System Slots) Construction(
VOID
);
EFI_STATUS
EFIAPI
0: StringId=0x0002, Type=0x0B(x16), Width=0x04(x16)(
VOID
);
EFI_STATUS
EFIAPI
1:(
VOID
);
EFI_STATUS
EFIAPI
2:(
VOID
);
EFI_STATUS
EFIAPI
3:(
VOID
);
EFI_STATUS
EFIAPI
4:(
VOID
);
EFI_STATUS
EFIAPI
5:(
VOID
);
EFI_STATUS
EFIAPI
6:(
VOID
);
EFI_STATUS
EFIAPI
7:(
VOID
);
EFI_STATUS
EFIAPI
8:(
VOID
);
EFI_STATUS
EFIAPI
9:(
VOID
);
EFI_STATUS
EFIAPI
10:(
VOID
);
EFI_STATUS
EFIAPI
11:(
VOID
);
EFI_STATUS
EFIAPI
12:(
VOID
);
EFI_STATUS
EFIAPI
13:(
VOID
);
EFI_STATUS
EFIAPI
14:(
VOID
);
EFI_STATUS
EFIAPI
15:(
VOID
);
EFI_STATUS
EFIAPI
16:(
VOID
);
EFI_STATUS
EFIAPI
17:(
VOID
);
EFI_STATUS
EFIAPI
18:(
VOID
);
EFI_STATUS
EFIAPI
19:(
VOID
);
EFI_STATUS
EFIAPI
20:(
VOID
);
EFI_STATUS
EFIAPI
21:(
VOID
);
EFI_STATUS
EFIAPI
22:(
VOID
);
EFI_STATUS
EFIAPI
23:(
VOID
);
EFI_STATUS
EFIAPI
24:(
VOID
);
EFI_STATUS
EFIAPI
25:(
VOID
);
EFI_STATUS
EFIAPI
26:(
VOID
);
EFI_STATUS
EFIAPI
27:(
VOID
);
EFI_STATUS
EFIAPI
28:(
VOID
);
EFI_STATUS
EFIAPI
29:(
VOID
);
EFI_STATUS
EFIAPI
SMBIOS header(
VOID
);
EFI_STATUS
EFIAPI
= (SMBIOS_STRUCT_HEADER *)Buffer;(
VOID
);
EFI_STATUS
EFIAPI
3.1 type 9 with segment/bus/devfunc(
VOID
);
EFI_STATUS
EFIAPI
slot data from lookup table(
VOID
);
EFI_STATUS
EFIAPI
= *(UINT16 *)&mSlotData[10 * Index];(
VOID
);
EFI_STATUS
EFIAPI
type 9 fields(
VOID
);
EFI_STATUS
EFIAPI
string(
VOID
);
EFI_STATUS
EFIAPI
up slot designation string from HII(
VOID
);
EFI_STATUS
EFIAPI
= SmbiosGetHiiString ((
VOID
);
EFI_STATUS
EFIAPI
the slot designation string(
VOID
);
EFI_STATUS
EFIAPI
Type 17 (Memory Device) Construction(
VOID
);
EFI_STATUS
EFIAPI
SMBIOS header: type 17 (Memory Device)(
VOID
);
EFI_STATUS
EFIAPI
Channel 0 Slot 0: DIMM_A1(
VOID
);
EFI_STATUS
EFIAPI
MemoryDevice->DataWidth = 3; // x72(
VOID
);
EFI_STATUS
EFIAPI
MemoryDevice->FormFactor = 9; // DIMM(
VOID
);
EFI_STATUS
EFIAPI
MemoryDevice->Speed = 2133;(
VOID
);
EFI_STATUS
EFIAPI
platform data(
VOID
);
EFI_STATUS
EFIAPI
Channel 0 Slot 1: DIMM_A2(
VOID
);
EFI_STATUS
EFIAPI
Channel 1 Slot 0: DIMM_B1(
VOID
);
EFI_STATUS
EFIAPI
Channel 1 Slot 1: DIMM_B2(
VOID
);
EFI_STATUS
EFIAPI
Channel 0 Slot 0: DIMM_C1(
VOID
);
EFI_STATUS
EFIAPI
Channel 0 Slot 1: DIMM_C2(
VOID
);
EFI_STATUS
EFIAPI
Channel 1 Slot 0: DIMM_D1(
VOID
);
EFI_STATUS
EFIAPI
Channel 1 Slot 1: DIMM_D2(
VOID
);
EFI_STATUS
EFIAPI
up the device locator string from HII(
VOID
);
EFI_STATUS
EFIAPI
IDs: 28-35 for DIMM labels(
VOID
);
EFI_STATUS
EFIAPI
string to SMBIOS structure(
VOID
);
EFI_STATUS
EFIAPI
the bank locator string (second string)(
VOID
);
EFI_STATUS
EFIAPI
Type 41 (Onboard Devices Extended Information) Construction(
VOID
);
EFI_STATUS
EFIAPI
VGA controller(
VOID
);
EFI_STATUS
EFIAPI
Network Controller 1(
VOID
);
EFI_STATUS
EFIAPI
Network Controller 2(
VOID
);
EFI_STATUS
EFIAPI
SATA Controller(
VOID
);
EFI_STATUS
EFIAPI
Table Installation(
VOID
);
EFI_STATUS
EFIAPI
SMBIOS protocol if not already loaded(
VOID
);
EFI_STATUS
EFIAPI
the SMBIOS table via the protocol's Add() function(
VOID
);
EFI_STATUS
EFIAPI
= gSmbiosProtocol->Add ((
VOID
);
EFI_STATUS
EFIAPI
String Retrieval(
VOID
);
EFI_STATUS
EFIAPI
HII string protocol if needed(
VOID
);
EFI_STATUS
EFIAPI
(gHiiStringProtocol == NULL) {(
VOID
);
EFI_STATUS
EFIAPI
call to get required buffer size (returns BUFFER_TOO_SMALL)(
VOID
);
EFI_STATUS
EFIAPI
= 0;(
VOID
);
EFI_STATUS
EFIAPI
string buffer(
VOID
);
EFI_STATUS
EFIAPI
= (EFI_STRING)AllocatePool (StringSize);(
VOID
);
EFI_STATUS
EFIAPI
the string(
VOID
);
EFI_STATUS
EFIAPI
= HiiString->GetString ((
VOID
);
EFI_STATUS
EFIAPI
from UCS-2 to ASCII(
VOID
);
EFI_STATUS
EFIAPI
= StringSize / sizeof (CHAR16) + 1;(
VOID
);
EFI_STATUS
EFIAPI
Language Retrieval(
VOID
);
EFI_STATUS
EFIAPI
required size for PlatformLang variable(
VOID
);
EFI_STATUS
EFIAPI
= gRT->GetVariable ((
VOID
);
EFI_STATUS
EFIAPI
and retrieve the value(
VOID
);
EFI_STATUS
EFIAPI
Notify End-of-Type(
VOID
);
EFI_STATUS
EFIAPI
SMBIOS protocol notification interface allows drivers to(
VOID
);
EFI_STATUS
EFIAPI
completion of table enumeration per type.(
VOID
);
EFI_STATUS
EFIAPI
is typically a no-op on most firmware.(
VOID
);
EFI_STATUS
EFIAPI
message display function (conditional on build flags).(
VOID
);
EFI_STATUS
EFIAPI
formatted output to the UEFI debug console.(
VOID
);
EFI_STATUS
EFIAPI
compiled out in RELEASE builds.(
VOID
);
EFI_STATUS
EFIAPI
ASSERT support wrappers(
VOID
);
EFI_STATUS
EFIAPI
into UEFI's DebugAssert via DebugLib(
VOID
);
EFI_STATUS
EFIAPI
((EFI_D_ERROR, "ASSERT [%a]:%d: %a\n", FileName, LineNumber, Description));(
VOID
);
#endif /* __SMBIOSDATAUPDATEDXENEONCITYEPECB_H__ */