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

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __NETWORKSTACKSETUPSCREEN_H__
#define __NETWORKSTACKSETUPSCREEN_H__

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

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
ReadUnalignedQword(
  VOID
);

EFI_STATUS
EFIAPI
CompareGuidQword(
  VOID
);

EFI_STATUS
EFIAPI
CmosReadNvStorage(
  VOID
);

EFI_STATUS
EFIAPI
AmiBoardInfoAssert(
  VOID
);

EFI_STATUS
EFIAPI
AmiBoardInfoConditionalSend(
  VOID
);

EFI_STATUS
EFIAPI
AmiBoardInfoInit(
  VOID
);

EFI_STATUS
EFIAPI
AmiBoardInfoEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
variable storage (mapped from .data section)(
  VOID
);

EFI_STATUS
EFIAPI
gImageHandle_      = NULL;   // 0xD00 (.data)(
  VOID
);

EFI_STATUS
EFIAPI
(.data)(
  VOID
);

EFI_STATUS
EFIAPI
protocol pointer (located by sub_4F8)(
  VOID
);

EFI_STATUS
EFIAPI
*gAmiBoardInfoProtocol = NULL;   // 0xD10 (.data)(
  VOID
);

EFI_STATUS
EFIAPI
HOB list pointer (located by sub_600 -> GetHobList)(
  VOID
);

EFI_STATUS
EFIAPI
gHobListRva     = 0;     // 0xD18 (.data)(
  VOID
);

EFI_STATUS
EFIAPI
copies of service pointers (aliased .data at 0xD20/0xD28/0xD30)(
  VOID
);

EFI_STATUS
EFIAPI
gBS_1                = 0;     // 0xD20(
  VOID
);

EFI_STATUS
EFIAPI
UINT64          gST_1                = 0;     // 0xD30(
  VOID
);

EFI_STATUS
EFIAPI
data buffer (10 bytes at 0xD40)(
  VOID
);

EFI_STATUS
EFIAPI
gNvData;                    // 0xD40..0xD49(
  VOID
);

EFI_STATUS
EFIAPI
gNvBootFlag          = 0;     // byte_D45 (offset 5)(
  VOID
);

EFI_STATUS
EFIAPI
(offset 6)(
  VOID
);

EFI_STATUS
EFIAPI
definitions(
  VOID
);

EFI_STATUS
EFIAPI
for the AMI Board Info Protocol.(
  VOID
);

EFI_STATUS
EFIAPI
protocol interface is located via gBS->LocateProtocol.(
  VOID
);

EFI_STATUS
EFIAPI
at .data 0xCC0.(
  VOID
);

EFI_STATUS
EFIAPI
gAmiBoardInfoProtocolGuid = {(
  VOID
);

EFI_STATUS
EFIAPI
GUID (standard UEFI PiHobList GUID).(
  VOID
);

EFI_STATUS
EFIAPI
to locate the HOB list from the system table configuration table.(
  VOID
);

EFI_STATUS
EFIAPI
as two halves at .data 0xCD0 (first 8 bytes) and 0xCD8 (second 8).(
  VOID
);

EFI_STATUS
EFIAPI
gPiHobListGuid = {(
  VOID
);

EFI_STATUS
EFIAPI
GUID for the NetworkStackVar variable.(
  VOID
);

EFI_STATUS
EFIAPI
at .data 0xCE0.(
  VOID
);

EFI_STATUS
EFIAPI
gAmiBoardInfoVarGuid = {(
  VOID
);

EFI_STATUS
EFIAPI
declarations(
  VOID
);

EFI_STATUS
EFIAPI
EFIAPI(
  VOID
);

EFI_STATUS
EFIAPI
current index, select CMOS diagnostic register (0x4B).(
  VOID
);

EFI_STATUS
EFIAPI
bit 7 (power good flag) to access the register number.(
  VOID
);

EFI_STATUS
EFIAPI
((
  VOID
);

EFI_STATUS
EFIAPI
the diagnostic status value.(
  VOID
);

EFI_STATUS
EFIAPI
= IoRead8 (CMOS_REG_DATA_PORT);(
  VOID
);

EFI_STATUS
EFIAPI
appears accessible.(
  VOID
);

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

EFI_STATUS
EFIAPI
use bit 1 combined with bit 0 as override indicator.(
  VOID
);

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

EFI_STATUS
EFIAPI
((UINT8)(NvStorage - 1) > 0xFD) {(
  VOID
);

EFI_STATUS
EFIAPI
is not 1 or 2 (or is 0xFF) -> undetermined.(
  VOID
);

EFI_STATUS
EFIAPI
0;(
  VOID
);

EFI_STATUS
EFIAPI
}(
  VOID
);

EFI_STATUS
EFIAPI
a small pool (EfiBootServicesData) as scratch.(
  VOID
);

EFI_STATUS
EFIAPI
= AllocatePool (31);    // 31 = EfiBootServicesData(
  VOID
);

EFI_STATUS
EFIAPI
(Pool);(
  VOID
);

EFI_STATUS
EFIAPI
the protocol.(
  VOID
);

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

EFI_STATUS
EFIAPI
(VOID **)&gAmiBoardInfoProtocol(
  VOID
);

EFI_STATUS
EFIAPI
0x00: AssertCallback.(
  VOID
);

EFI_STATUS
EFIAPI
NV storage status does not match Mask.(
  VOID
);

EFI_STATUS
EFIAPI
EFI_UNSUPPORTED;(
  VOID
);

EFI_STATUS
EFIAPI
matches; invoke StatusSend callback at offset 0x08.(
  VOID
);

EFI_STATUS
EFIAPI
(Args, Arg2);(
  VOID
);

EFI_STATUS
EFIAPI
to NULL.(
  VOID
);

EFI_STATUS
EFIAPI
= 0;(
  VOID
);

EFI_STATUS
EFIAPI
the configuration table array.(
  VOID
);

EFI_STATUS
EFIAPI
entry is sizeof(EFI_CONFIGURATION_TABLE) bytes = 24 bytes:(
  VOID
);

EFI_STATUS
EFIAPI
bytes VendorGuid + 8 bytes VendorTable pointer.(
  VOID
);

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

EFI_STATUS
EFIAPI
the HOB list entry.(
  VOID
);

EFI_STATUS
EFIAPI
= (EFI_PHYSICAL_ADDRESS)ConfigEntry->VendorTable;(
  VOID
);

EFI_STATUS
EFIAPI
failure on debug builds. The original binary called(
  VOID
);

EFI_STATUS
EFIAPI
(conditional send) with:(
  VOID
);

EFI_STATUS
EFIAPI
= 0x80000000LL(
  VOID
);

EFI_STATUS
EFIAPI
= "\nASSERT_EFI_ERROR (Status = %r)\n" string ref(
  VOID
);

EFI_STATUS
EFIAPI
= 0x800000000000000EuLL (EFI_NOT_FOUND)(
  VOID
);

EFI_STATUS
EFIAPI
services if not already set (by entry point).(
  VOID
);

EFI_STATUS
EFIAPI
(gST_ == NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
to read the existing variable.(
  VOID
);

EFI_STATUS
EFIAPI
= sizeof (gNvData);        // = NETWORK_STACK_VAR_DATA_SIZE = 10(
  VOID
);

EFI_STATUS
EFIAPI
(returned)(
  VOID
);

EFI_STATUS
EFIAPI
does not exist: zero the buffer and set defaults.(
  VOID
);

EFI_STATUS
EFIAPI
gNvBootFlag     = 1;            // byte_D45(
  VOID
);

EFI_STATUS
EFIAPI
flag value(
  VOID
);

EFI_STATUS
EFIAPI
the variable as non-volatile + boot + runtime.(
  VOID
);

EFI_STATUS
EFIAPI
= gRT_->SetVariable ((
  VOID
);

EFI_STATUS
EFIAPI
driver does not check SetVariable status.(
  VOID
);

EFI_STATUS
EFIAPI
(0x370) -> AmiBoardInfoEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
global handles (standard UEFI boot services library pattern).(
  VOID
);

EFI_STATUS
EFIAPI
= ImageHandle;(
  VOID
);

EFI_STATUS
EFIAPI
and cache the HOB list pointer.(
  VOID
);

EFI_STATUS
EFIAPI
(SystemTable);(
  VOID
);

EFI_STATUS
EFIAPI
the board info variable ("NetworkStackVar").(
  VOID
);

EFI_STATUS
EFIAPI
AmiBoardInfoInit (10, SystemTable);(
  VOID
);

#endif /* __NETWORKSTACKSETUPSCREEN_H__ */