Newer
Older
AMI-Aptio-BIOS-Reversed / MultiSkuDistinctionDxe / MultiSkuDistinctionDxe.h
@Ajax Dong Ajax Dong 2 days ago 3 KB Init
/** @file
  MultiSkuDistinctionDxe.h -- Header for MultiSkuDistinctionDxe

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __MULTISKUDISTINCTIONDXE_H__
#define __MULTISKUDISTINCTIONDXE_H__

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

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
ReadUnaligned64(
  VOID
);

EFI_STATUS
EFIAPI
CompareGuid(
  VOID
);

EFI_STATUS
EFIAPI
MsDebugPrint(
  VOID
);

EFI_STATUS
EFIAPI
MsDebugAssert(
  VOID
);

EFI_STATUS
EFIAPI
GetMultiSkuInfoFromHob(
  VOID
);

EFI_STATUS
EFIAPI
InstallSkuProtocol(
  VOID
);

EFI_STATUS
EFIAPI
MultiSkuDistinctionDxeEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
globals(
  VOID
);

EFI_STATUS
EFIAPI
MsDebugProtocol pointer (0 until first successful Lookup).(
  VOID
);

EFI_STATUS
EFIAPI
*gMsDebugProtocol = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
HOB list pointer (0 until first successful GetHobList).(
  VOID
);

EFI_STATUS
EFIAPI
*gHobList         = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
definitions(
  VOID
);

EFI_STATUS
EFIAPI
protocol lookup (sub_4C8)(
  VOID
);

EFI_STATUS
EFIAPI
print wrapper (sub_548)(
  VOID
);

/// system identification byte.
EFI_STATUS
EFIAPI
CMOS RTC index 0x4B(
  VOID
);

EFI_STATUS
EFIAPI
= IoRead8 (0x70);(
  VOID
);

EFI_STATUS
EFIAPI
mask based on SKU byte.(
  VOID
);

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

EFI_STATUS
EFIAPI
= (*(volatile UINT8 *)0xFDAF0490 & 2) | 1;(
  VOID
);

EFI_STATUS
EFIAPI
vtable entry [0] is the DebugPrint function.(
  VOID
);

EFI_STATUS
EFIAPI
Protocol->DebugPrint (ErrorLevel, Format, Args);(
  VOID
);

EFI_STATUS
EFIAPI
wrapper (sub_5D0)(
  VOID
);

EFI_STATUS
EFIAPI
vtable entry [1] is the DebugAssert function.(
  VOID
);

EFI_STATUS
EFIAPI
list retrieval (sub_610)(
  VOID
);

EFI_STATUS
EFIAPI
configuration table entries.(
  VOID
);

EFI_STATUS
EFIAPI
(0x80000000, "\nASSERT_EFI_ERROR (Status = %r)\n", 0x800000000000000Eull);(
  VOID
);

EFI_STATUS
EFIAPI
GUID-ext search (sub_6F0)(
  VOID
);

EFI_STATUS
EFIAPI
Multi-SKU info from HOB (sub_740)(
  VOID
);

EFI_STATUS
EFIAPI
the HOB list looking for a GUID-ext HOB whose data matches(
  VOID
);

EFI_STATUS
EFIAPI
= FindHobByGuid (&gLenovoMultiSkuHobGuid, HobList);(
  VOID
);

EFI_STATUS
EFIAPI
3-byte SKU type is at offset 48 from the HOB base.(
  VOID
);

EFI_STATUS
EFIAPI
Protocol installation (sub_470)(
  VOID
);

/// still try to publish protocol
EFI_STATUS
EFIAPI
info not available(
  VOID
);

EFI_STATUS
EFIAPI
whatever we have (or the HOB info is not critical).(
  VOID
);

EFI_STATUS
EFIAPI
a unified SKU byte: publish the protocol.(
  VOID
);

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

EFI_STATUS
EFIAPI
Point (sub_344 / _ModuleEntryPoint)(
  VOID
);

EFI_STATUS
EFIAPI
global protocol references.(
  VOID
);

EFI_STATUS
EFIAPI
= ImageHandle;(
  VOID
);

EFI_STATUS
EFIAPI
();(
  VOID
);

EFI_STATUS
EFIAPI
SKU info from HOB.(
  VOID
);

EFI_STATUS
EFIAPI
= GetMultiSkuInfoFromHob (&SkuInfo);(
  VOID
);

EFI_STATUS
EFIAPI
the SKU type byte.(
  VOID
);

/// delay installation.
EFI_STATUS
EFIAPI
= 'U' (unified / unknown SKU)(
  VOID
);

EFI_STATUS
EFIAPI
(SkuInfo.SkuType[0] == 0x55) {(
  VOID
);

EFI_STATUS
EFIAPI
an ExitBootServices notification event.(
  VOID
);

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

EFI_STATUS
EFIAPI
the configuration table entry for the SKU GUID.(
  VOID
);

EFI_STATUS
EFIAPI
InstallSkuProtocol ();(
  VOID
);

#endif /* __MULTISKUDISTINCTIONDXE_H__ */