Newer
Older
AMI-Aptio-BIOS-Reversed / 5038F34E-0774-47A0-A5EF-4B94AF1A43DA / 5038F34E-0774-47A0-A5EF-4B94AF1A43DA.h
@Ajax Dong Ajax Dong 2 days ago 7 KB Init
/** @file
  5038F34E-0774-47A0-A5EF-4B94AF1A43DA.h -- Header for 5038F34E-0774-47A0-A5EF-4B94AF1A43DA

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __5038F34E-0774-47A0-A5EF-4B94AF1A43DA_H__
#define __5038F34E-0774-47A0-A5EF-4B94AF1A43DA_H__

#include "../uefi_headers/Uefi.h"

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
_ModuleEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
DcpmmDriverInit(
  VOID
);

EFI_STATUS
EFIAPI
DcpmmDriverMain(
  VOID
);

EFI_STATUS
EFIAPI
DcpmmDriverStartThunk(
  VOID
);

EFI_STATUS
EFIAPI
DcpmmDriverStart(
  VOID
);

EFI_STATUS
EFIAPI
DcpmmDriverSupported(
  VOID
);

EFI_STATUS
EFIAPI
DcpmmDriverStop(
  VOID
);

EFI_STATUS
EFIAPI
NvdimmFwCommand(
  VOID
);

EFI_STATUS
EFIAPI
DcpmmFirmwareCommandDispatch(
  VOID
);

EFI_STATUS
EFIAPI
DcpmmGetDeviceInfo(
  VOID
);

EFI_STATUS
EFIAPI
DcpmmGetHealth(
  VOID
);

EFI_STATUS
EFIAPI
DcpmmSmbusAcquire(
  VOID
);

EFI_STATUS
EFIAPI
DcpmmSmbusRelease(
  VOID
);

EFI_STATUS
EFIAPI
DcpmmGetNvdimmConfig(
  VOID
);

EFI_STATUS
EFIAPI
DcpmmSetNvdimmConfig(
  VOID
);

EFI_STATUS
EFIAPI
DcpmmEnumerateNvdimmHandles(
  VOID
);

EFI_STATUS
EFIAPI
DcpmmCheckNamespaceSupport(
  VOID
);

EFI_STATUS
EFIAPI
DcpmmCheckSmbusSupport(
  VOID
);

EFI_STATUS
EFIAPI
UtilFreePool(
  VOID
);

EFI_STATUS
EFIAPI
UtilDebugPrint(
  VOID
);

EFI_STATUS
EFIAPI
EFI_BOOT_SERVICES    *gBootServices    = NULL;   // 0x33350(
  VOID
);

EFI_STATUS
EFIAPI
DCPMM_DRIVER_GLOBAL  *gDcpmmDriver     = NULL;   // qword_33308(
  VOID
);

EFI_STATUS
EFIAPI
protocol(
  VOID
);

EFI_STATUS
EFIAPI
config protocol(
  VOID
);

EFI_STATUS
EFIAPI
health protocol(
  VOID
);

EFI_STATUS
EFIAPI
HC protocol(
  VOID
);

EFI_STATUS
EFIAPI
PassThru protocol(
  VOID
);

EFI_STATUS
EFIAPI
arbitration protocol(
  VOID
);

EFI_STATUS
EFIAPI
located protocol(
  VOID
);

EFI_STATUS
EFIAPI
path utilities(
  VOID
);

EFI_STATUS
EFIAPI
path protocol GUID(
  VOID
);

EFI_STATUS
EFIAPI
Firmware Interface Table protocol(
  VOID
);

EFI_STATUS
EFIAPI
protocol instance(
  VOID
);

EFI_STATUS
EFIAPI
Binding protocol GUID(
  VOID
);

EFI_STATUS
EFIAPI
device path instance(
  VOID
);

EFI_STATUS
EFIAPI
dispatch tables (defined externally in .data section)(
  VOID
);

EFI_STATUS
EFIAPI
function table(
  VOID
);

EFI_STATUS
EFIAPI
protocol table(
  VOID
);

EFI_STATUS
EFIAPI
interface table(
  VOID
);

EFI_STATUS
EFIAPI
1: Early initialization (serial port, protocol locations)(
  VOID
);

EFI_STATUS
EFIAPI
2: Install driver binding protocol(
  VOID
);

/// will be called when controller is found
EFI_STATUS
EFIAPI
the Start handler(
  VOID
);

EFI_STATUS
EFIAPI
3: Complete initialization(
  VOID
);

EFI_STATUS
EFIAPI
port (COM1) initialization via I/O ports 0x3F8-0x3FD.(
  VOID
);

EFI_STATUS
EFIAPI
driver uses the serial port for debug logging.(
  VOID
);

EFI_STATUS
EFIAPI
registers:(
  VOID
);

EFI_STATUS
EFIAPI
- Data register / Divisor Latch Low (DLAB=1)(
  VOID
);

EFI_STATUS
EFIAPI
- Interrupt Enable / Divisor Latch High (DLAB=1)(
  VOID
);

EFI_STATUS
EFIAPI
- FIFO Control / Interrupt ID(
  VOID
);

EFI_STATUS
EFIAPI
- Line Control Register(
  VOID
);

EFI_STATUS
EFIAPI
- Modem Control Register(
  VOID
);

EFI_STATUS
EFIAPI
- Line Status Register(
  VOID
);

EFI_STATUS
EFIAPI
UEFI table pointers(
  VOID
);

EFI_STATUS
EFIAPI
dependent protocols needed by this driver(
  VOID
);

EFI_STATUS
EFIAPI
SMBIOS Type 17 to find NVDIMM presence(
  VOID
);

EFI_STATUS
EFIAPI
SMBIOS entries looking for NVDIMM (Type 17 with NVDIMM flag)(
  VOID
);

EFI_STATUS
EFIAPI
SMBIOS entry looking for:(
  VOID
);

EFI_STATUS
EFIAPI
Type 0x7F with NVDIMM characteristics(
  VOID
);

EFI_STATUS
EFIAPI
image handle(
  VOID
);

EFI_STATUS
EFIAPI
= (UINT64)ImageHandle;(
  VOID
);

EFI_STATUS
EFIAPI
driver global context (592 bytes = 0x250)(
  VOID
);

EFI_STATUS
EFIAPI
= UtilAllocateZeroPool(592);(
  VOID
);

EFI_STATUS
EFIAPI
global state(
  VOID
);

EFI_STATUS
EFIAPI
linked lists within the context(
  VOID
);

EFI_STATUS
EFIAPI
all DCPMM protocols on the image handle(
  VOID
);

EFI_STATUS
EFIAPI
interface protocol(
  VOID
);

EFI_STATUS
EFIAPI
all NVDIMM handles present in the system(
  VOID
);

EFI_STATUS
EFIAPI
all protocols again on the image handle(
  VOID
);

EFI_STATUS
EFIAPI
set up the driver binding protocol Start handler(
  VOID
);

EFI_STATUS
EFIAPI
= gBootServices->InstallProtocolInterface((
  VOID
);

EFI_STATUS
EFIAPI
device path protocol on each cached NVDIMM handle(
  VOID
);

EFI_STATUS
EFIAPI
(gNvdimmHandleCount > 0 && gNvdimmHandles) {(
  VOID
);

EFI_STATUS
EFIAPI
cached handles and re-enumerate(
  VOID
);

EFI_STATUS
EFIAPI
= 0;(
  VOID
);

EFI_STATUS
EFIAPI
controller handles that support the NVDIMM FIT protocol(
  VOID
);

EFI_STATUS
EFIAPI
DCPMM protocols on each controller handle(
  VOID
);

EFI_STATUS
EFIAPI
namespace and SMBUS support(
  VOID
);

EFI_STATUS
EFIAPI
all remaining protocols on the controller handle(
  VOID
);

EFI_STATUS
EFIAPI
NVDIMM linked list to see if this controller is known(
  VOID
);

EFI_STATUS
EFIAPI
check if controller supports NVDIMM FIT protocol(
  VOID
);

EFI_STATUS
EFIAPI
= gBootServices->OpenProtocol((
  VOID
);

EFI_STATUS
EFIAPI
all protocols opened by this driver on the controller(
  VOID
);

EFI_STATUS
EFIAPI
SMBUS protocol(
  VOID
);

EFI_STATUS
EFIAPI
all protocol interfaces(
  VOID
);

EFI_STATUS
EFIAPI
NVDIMM firmware command packet(
  VOID
);

EFI_STATUS
EFIAPI
per ACPI NVDIMM FW spec for passthrough:(
  VOID
);

EFI_STATUS
EFIAPI
+ Input/Output buffer sizes + payload(
  VOID
);

EFI_STATUS
EFIAPI
via SMBUS to the NVDIMM device address.(
  VOID
);

EFI_STATUS
EFIAPI
EFI_SUCCESS;(
  VOID
);

EFI_STATUS
EFIAPI
firmware command via the NFIT-defined function table(
  VOID
);

EFI_STATUS
EFIAPI
= FwIf->ExecuteCommand((
  VOID
);

EFI_STATUS
EFIAPI
the NVDIMM device list and collect info:(
  VOID
);

EFI_STATUS
EFIAPI
NVDIMM via firmware command for health info(
  VOID
);

EFI_STATUS
EFIAPI
SMBUS ownership for the NVDIMM memory controller:(
  VOID
);

EFI_STATUS
EFIAPI
messages format:(
  VOID
);

EFI_STATUS
EFIAPI
SMBUS ownership:(
  VOID
);

EFI_STATUS
EFIAPI
NVDIMM namespace label data:(
  VOID
);

EFI_STATUS
EFIAPI
NVDIMM namespace label data with full validation.(
  VOID
);

EFI_STATUS
EFIAPI
page alignment, BTT/PFN translation, and error recovery.(
  VOID
);

EFI_STATUS
EFIAPI
UtilDebugPrint for status logging.(
  VOID
);

EFI_STATUS
EFIAPI
handles are already cached, return success(
  VOID
);

EFI_STATUS
EFIAPI
(gNvdimmHandles && gNvdimmHandleCount > 0) {(
  VOID
);

EFI_STATUS
EFIAPI
any previously allocated handle buffer(
  VOID
);

EFI_STATUS
EFIAPI
(gNvdimmHandles) {(
  VOID
);

EFI_STATUS
EFIAPI
all handles with the NVDIMM Firmware Interface protocol(
  VOID
);

EFI_STATUS
EFIAPI
= gBootServices->LocateHandleBuffer((
  VOID
);

EFI_STATUS
EFIAPI
handle cache(
  VOID
);

EFI_STATUS
EFIAPI
= HandleCount;(
  VOID
);

EFI_STATUS
EFIAPI
device path on each handle and cache the handle(
  VOID
);

EFI_STATUS
EFIAPI
(Index = 0; Index < HandleCount; Index++) {(
  VOID
);

EFI_STATUS
EFIAPI
debug output format:(
  VOID
);

EFI_STATUS
EFIAPI
messages use this prefix format for log identification.(
  VOID
);

EFI_STATUS
EFIAPI
observed:(
  VOID
);

EFI_STATUS
EFIAPI
driver acquired SMBUS access(
  VOID
);

EFI_STATUS
EFIAPI
driver waiting %d ms for smbus access(
  VOID
);

EFI_STATUS
EFIAPI
driver failed to acquire SMBUS access(
  VOID
);

EFI_STATUS
EFIAPI
driver releasing SMBUS access(
  VOID
);

EFI_STATUS
EFIAPI
driver released SMBUS access. Rc %d(
  VOID
);

EFI_STATUS
EFIAPI
driver inconsistent state found! ...(
  VOID
);

EFI_STATUS
EFIAPI
driver failed to release SMBUS access! Exiting(
  VOID
);

EFI_STATUS
EFIAPI
driver starting to acquire SMBUS access. Window: 0 ms(
  VOID
);

EFI_STATUS
EFIAPI
driver starting to acquire SMBUS access. Window: %d - %d ms(
  VOID
);

#endif /* __5038F34E-0774-47A0-A5EF-4B94AF1A43DA_H__ */