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

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __STATICSKUDATADXELIGHTNINGRIDGEEXECB4_H__
#define __STATICSKUDATADXELIGHTNINGRIDGEEXECB4_H__

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

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
ReadUnaligned64(
  VOID
);

EFI_STATUS
EFIAPI
GuidCompareByPair(
  VOID
);

EFI_STATUS
EFIAPI
UbaAssert(
  VOID
);

EFI_STATUS
EFIAPI
UbaDebugPrint(
  VOID
);

EFI_STATUS
EFIAPI
GetAcpiPathPointers(
  VOID
);

EFI_STATUS
EFIAPI
StaticSkuDataDxeEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
definitions for the UBA protocol and HOB matching.(
  VOID
);

EFI_STATUS
EFIAPI
GUIDs are consumed by the entry point but defined in the platform(
  VOID
);

EFI_STATUS
EFIAPI
/ UBA DXE driver package.(
  VOID
);

EFI_STATUS
EFIAPI
globals(
  VOID
);

EFI_STATUS
EFIAPI
protocol function-table offsets(
  VOID
);

EFI_STATUS
EFIAPI
protocol dispatch-table function type definitions(
  VOID
);

EFI_STATUS
EFIAPI
name-path entry layout(
  VOID
);

EFI_STATUS
EFIAPI
entry occupies 32 bytes:(
  VOID
);

/// Socket 0, Channel 3
EFI_STATUS
EFIAPI
Device N011(
  VOID
);

EFI_STATUS
EFIAPI
CONST UINT8  mN011AcpiEntries[8 * ACPI_ENTRY_SIZE] = {(
  VOID
);

/// Socket 0, Channel 4
EFI_STATUS
EFIAPI
Device N020(
  VOID
);

EFI_STATUS
EFIAPI
CONST UINT8  mN020AcpiEntries[8 * ACPI_ENTRY_SIZE] = {(
  VOID
);

EFI_STATUS
EFIAPI
// ---------------------------------------------------------------------------(
  VOID
);

EFI_STATUS
EFIAPI
//(
  VOID
);

EFI_STATUS
EFIAPI
two EFI_GUID values by splitting each into two UINT64 words.(
  VOID
);

EFI_STATUS
EFIAPI
matches the code pattern used in the original binary.(
  VOID
);

EFI_STATUS
EFIAPI
the UBA protocol via BootServices->LocateProtocol and caches the(
  VOID
);

EFI_STATUS
EFIAPI
and immediately freeing a small pool.(
  VOID
);

EFI_STATUS
EFIAPI
= 0x1F;(
  VOID
);

EFI_STATUS
EFIAPI
the pool was small enough (<= 0x10), proceed to look up the protocol.(
  VOID
);

EFI_STATUS
EFIAPI
(PoolSize <= 0x10) {(
  VOID
);

EFI_STATUS
EFIAPI
an assertion through the UBA protocol's assert routine at(
  VOID
);

EFI_STATUS
EFIAPI
+8.(
  VOID
);

EFI_STATUS
EFIAPI
prints a debug message via the UBA protocol's debug print(
  VOID
);

EFI_STATUS
EFIAPI
at offset +0.  The decision is based on the platform type read(
  VOID
);

EFI_STATUS
EFIAPI
CMOS scratch register 0x4B.(
  VOID
);

EFI_STATUS
EFIAPI
0x4B platform type detection:(
  VOID
);

EFI_STATUS
EFIAPI
CMOS index 0x4B (preserve bit 7 of port 0x70).(
  VOID
);

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

EFI_STATUS
EFIAPI
(PlatformByte > 3) {(
  VOID
);

EFI_STATUS
EFIAPI
platform byte -> acceptable error-level mask.(
  VOID
);

EFI_STATUS
EFIAPI
((UINT8)(PlatformByte - 1) <= 0xFD) {(
  VOID
);

EFI_STATUS
EFIAPI
call if the mask matches the caller's ErrorLevel.(
  VOID
);

EFI_STATUS
EFIAPI
((Result & ErrorLevel) != 0) {(
  VOID
);

EFI_STATUS
EFIAPI
the system table's configuration table for a GUID pair that matches(
  VOID
);

EFI_STATUS
EFIAPI
HOB list GUID.  When found, the pointer at offset +16 is returned as(
  VOID
);

EFI_STATUS
EFIAPI
HOB list.(
  VOID
);

EFI_STATUS
EFIAPI
the target GUID from the two module-embedded UINT64 values.(
  VOID
);

EFI_STATUS
EFIAPI
three pointers into the ACPI path entry tables:(
  VOID
);

EFI_STATUS
EFIAPI
Point(
  VOID
);

EFI_STATUS
EFIAPI
= ImageHandle;(
  VOID
);

EFI_STATUS
EFIAPI
(ImageHandle);(
  VOID
);

EFI_STATUS
EFIAPI
(0x80000000, "UBA:UsbOcUpdate-TypeLightningRidgeEXECB4\n");(
  VOID
);

EFI_STATUS
EFIAPI
= 0;(
  VOID
);

EFI_STATUS
EFIAPI
InstallData at offset +16 in the protocol dispatch table.(
  VOID
);

EFI_STATUS
EFIAPI
= ((EFI_STATUS (EFIAPI *)(UINT64, UINT8 *, UINT8 *, UINTN))((
  VOID
);

#endif /* __STATICSKUDATADXELIGHTNINGRIDGEEXECB4_H__ */