/** @file
  SlotDataUpdateDxeLightningRidgeEXECB4.h -- Header for SlotDataUpdateDxeLightningRidgeEXECB4

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __SLOTDATAUPDATEDXELIGHTNINGRIDGEEXECB4_H__
#define __SLOTDATAUPDATEDXELIGHTNINGRIDGEEXECB4_H__

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

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
UbaDebugPrint(
  VOID
);

EFI_STATUS
EFIAPI
AssertHandler(
  VOID
);

EFI_STATUS
EFIAPI
InitializeDebugProtocol(
  VOID
);

EFI_STATUS
EFIAPI
ReadUnaligned64(
  VOID
);

EFI_STATUS
EFIAPI
IsPlatformSlotHob(
  VOID
);

EFI_STATUS
EFIAPI
SlotDataUpdateDxeEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
_ModuleEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
variables for UEFI system table pointers(
  VOID
);

EFI_STATUS
EFIAPI
gImageHandle   = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
protocol and HOB pointers(
  VOID
);

EFI_STATUS
EFIAPI
UBA_DEBUG_PROTOCOL  *mDebugPrintProtocol   = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
slot table data - LightningRidge EX EC B4(
  VOID
);

EFI_STATUS
EFIAPI
tables define the PCIe slot configuration for the platform(
  VOID
);

EFI_STATUS
EFIAPI
CONST PLATFORM_SLOT_TABLE mSlotTableConfig1 = {(
  VOID
);

EFI_STATUS
EFIAPI
'PSLT'(
  VOID
);

EFI_STATUS
EFIAPI
0xBB0,                    // GpioConfigBase(
  VOID
);

EFI_STATUS
EFIAPI
1,                        // SlotCount(
  VOID
);

EFI_STATUS
EFIAPI
};(
  VOID
);

EFI_STATUS
EFIAPI
CMOS status register to check debug state(
  VOID
);

EFI_STATUS
EFIAPI
(0x70, (IoRead8 (0x70) & 0x80) | 0x4B);(
  VOID
);

EFI_STATUS
EFIAPI
debug enable from platform scratchpad (F000 segment)(
  VOID
);

EFI_STATUS
EFIAPI
(DebugLevel == 0) {(
  VOID
);

EFI_STATUS
EFIAPI
the actual debug print level based on CMOS(
  VOID
);

EFI_STATUS
EFIAPI
PrintErrorLevel = 0x80000086; // DEBUG_INFO | DEBUG_LOAD(
  VOID
);

EFI_STATUS
EFIAPI
}(
  VOID
);

EFI_STATUS
EFIAPI
pool for protocol lookup key(
  VOID
);

EFI_STATUS
EFIAPI
PoolSize = (*(UINTN (EFIAPI **)(UINTN))(gBootServices + 24))(31);(
  VOID
);

EFI_STATUS
EFIAPI
HOB list not found, assert(
  VOID
);

EFI_STATUS
EFIAPI
(mHobList == NULL) {(
  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
debug print protocol(
  VOID
);

EFI_STATUS
EFIAPI
();(
  VOID
);

EFI_STATUS
EFIAPI
the HOB list (populates gHobList global)(
  VOID
);

EFI_STATUS
EFIAPI
(ImageHandle);(
  VOID
);

EFI_STATUS
EFIAPI
driver load trace message(
  VOID
);

EFI_STATUS
EFIAPI
((
  VOID
);

EFI_STATUS
EFIAPI
the slot configuration protocol to install onto(
  VOID
);

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

EFI_STATUS
EFIAPI
first slot configuration (32 bytes of slot table data)(
  VOID
);

EFI_STATUS
EFIAPI
GUID: LIGHTNING_RIDGE_EX_EC_B4_SLOT_TABLE_PROTOCOL_GUID(
  VOID
);

EFI_STATUS
EFIAPI
= ((EFI_SLOT_PROTOCOL *)SlotProtocol)->InstallProtocol ((
  VOID
);

#endif /* __SLOTDATAUPDATEDXELIGHTNINGRIDGEEXECB4_H__ */