Newer
Older
AMI-Aptio-BIOS-Reversed / Build / GuidArtifacts / 794E15D9-BF1B-4568-99AC-DCE207C022E4 / 794E15D9-BF1B-4568-99AC-DCE207C022E4.h
@Ajax Dong Ajax Dong 2 days ago 10 KB Full restructure
/** @file
  794E15D9-BF1B-4568-99AC-DCE207C022E4.h -- Header for 794E15D9-BF1B-4568-99AC-DCE207C022E4

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __794E15D9-BF1B-4568-99AC-DCE207C022E4_H__
#define __794E15D9-BF1B-4568-99AC-DCE207C022E4_H__

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

//
// Function Prototypes
//

EFI_STATUS
EFIAPI
AspGraphicsDriverBindingSupported(
  VOID
);

EFI_STATUS
EFIAPI
AspGraphicsDriverBindingStart(
  VOID
);

EFI_STATUS
EFIAPI
AspGraphicsDriverBindingStop(
  VOID
);

EFI_STATUS
EFIAPI
AspGraphicsComponentNameGetDriverName(
  VOID
);

EFI_STATUS
EFIAPI
AspGraphicsComponentNameGetControllerName(
  VOID
);

EFI_STATUS
EFIAPI
_ModuleEntryPoint(
  VOID
);

EFI_STATUS
EFIAPI
AspGraphicsDriverEntry(
  VOID
);

EFI_STATUS
EFIAPI
AspGraphicsQueryMode(
  VOID
);

EFI_STATUS
EFIAPI
AspGraphicsSetMode(
  VOID
);

EFI_STATUS
EFIAPI
AspGraphicsBlt(
  VOID
);

EFI_STATUS
EFIAPI
AspInitDisplayHardware(
  VOID
);

EFI_STATUS
EFIAPI
AspInitModeTable(
  VOID
);

EFI_STATUS
EFIAPI
AspInstallGopProtocol(
  VOID
);

EFI_STATUS
EFIAPI
Definitions(
  VOID
);

EFI_STATUS
EFIAPI
gAspGraphicsOutputProtocolGuid =(
  VOID
);

EFI_STATUS
EFIAPI
Globals(
  VOID
);

EFI_STATUS
EFIAPI
gImageHandle = NULL;(
  VOID
);

EFI_STATUS
EFIAPI
declarations(
  VOID
);

EFI_STATUS
EFIAPI
EFIAPI(
  VOID
);

EFI_STATUS
EFIAPI
Name prototype(
  VOID
);

EFI_STATUS
EFIAPI
Binding Protocol instance(
  VOID
);

EFI_STATUS
EFIAPI
gAspGraphicsDriverBinding = {(
  VOID
);

EFI_STATUS
EFIAPI
NULL,           // ImageHandle (set at entry)(
  VOID
);

EFI_STATUS
EFIAPI
(set at entry)(
  VOID
);

EFI_STATUS
EFIAPI
Name Protocol instance(
  VOID
);

EFI_STATUS
EFIAPI
gAspGraphicsComponentName2 = {(
  VOID
);

EFI_STATUS
EFIAPI
Languages(
  VOID
);

EFI_STATUS
EFIAPI
Entry Point(
  VOID
);

EFI_STATUS
EFIAPI
binding version(
  VOID
);

EFI_STATUS
EFIAPI
Driver Binding Protocol + Component Name + ASPEED Video Protocol(
  VOID
);

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

EFI_STATUS
EFIAPI
&gAspVideoProtocolGuid(
  VOID
);

EFI_STATUS
EFIAPI
NULL(
  VOID
);

EFI_STATUS
EFIAPI
Component Name protocol(
  VOID
);

EFI_STATUS
EFIAPI
Binding Protocol: Supported(
  VOID
);

EFI_STATUS
EFIAPI
the ASPEED video protocol to check if this controller(
  VOID
);

EFI_STATUS
EFIAPI
already managed by us(
  VOID
);

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

EFI_STATUS
EFIAPI
treated as child(
  VOID
);

EFI_STATUS
EFIAPI
This->DriverBindingHandle(
  VOID
);

EFI_STATUS
EFIAPI
have the protocol - check signature(
  VOID
);

EFI_STATUS
EFIAPI
*Private = CR (Interface, ASPEED_PRIVATE_DATA, ProtocolHandle, ASPEED_PRIVATE_DATA_SIGNATURE);(
  VOID
);

EFI_STATUS
EFIAPI
if the controller supports the ASPEED video protocol(
  VOID
);

EFI_STATUS
EFIAPI
trying to open it(
  VOID
);

EFI_STATUS
EFIAPI
Binding Protocol: Start(
  VOID
);

EFI_STATUS
EFIAPI
private context structure (752 bytes)(
  VOID
);

EFI_STATUS
EFIAPI
= (ASPEED_PRIVATE_DATA *)AspAllocateZeroPool (sizeof (ASPEED_PRIVATE_DATA));(
  VOID
);

EFI_STATUS
EFIAPI
signature(
  VOID
);

EFI_STATUS
EFIAPI
PCI IO protocol on the controller(
  VOID
);

EFI_STATUS
EFIAPI
ASPEED hardware (enable memory space, detect display type)(
  VOID
);

EFI_STATUS
EFIAPI
(Private);(
  VOID
);

EFI_STATUS
EFIAPI
display type using scratch registers(
  VOID
);

EFI_STATUS
EFIAPI
check if display override provided(
  VOID
);

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

EFI_STATUS
EFIAPI
scratch register for display type detection(
  VOID
);

EFI_STATUS
EFIAPI
= AspCrtcRead (Private, ASPEED_REG_SEQUENCER);(
  VOID
);

EFI_STATUS
EFIAPI
display detected - check for DPMS override(
  VOID
);

EFI_STATUS
EFIAPI
mode table from EDID(
  VOID
);

EFI_STATUS
EFIAPI
= AspInitModeTable (Private);(
  VOID
);

EFI_STATUS
EFIAPI
GOP protocol (QueryMode, SetMode, Blt)(
  VOID
);

EFI_STATUS
EFIAPI
= AspInstallGopProtocol (Private);(
  VOID
);

EFI_STATUS
EFIAPI
protocols on the controller(
  VOID
);

EFI_STATUS
EFIAPI
protocol instance(
  VOID
);

EFI_STATUS
EFIAPI
path(
  VOID
);

EFI_STATUS
EFIAPI
protocol(
  VOID
);

EFI_STATUS
EFIAPI
the protocol on the child handle (RemainingDevicePath)(
  VOID
);

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

EFI_STATUS
EFIAPI
on failure(
  VOID
);

EFI_STATUS
EFIAPI
(Private->PciIo != NULL) {(
  VOID
);

EFI_STATUS
EFIAPI
PCI config(
  VOID
);

EFI_STATUS
EFIAPI
Binding Protocol: Stop(
  VOID
);

EFI_STATUS
EFIAPI
bytes for PCI config read(
  VOID
);

EFI_STATUS
EFIAPI
the ASPEED video protocol on the controller(
  VOID
);

EFI_STATUS
EFIAPI
PCI configuration(
  VOID
);

EFI_STATUS
EFIAPI
(Private[10] != 0) {   // saved PCI config(
  VOID
);

EFI_STATUS
EFIAPI
if we need to restore PCI config(
  VOID
);

EFI_STATUS
EFIAPI
= AspGraphicsCheckAndVerify (ControllerHandle, v7);(
  VOID
);

EFI_STATUS
EFIAPI
and restore(
  VOID
);

EFI_STATUS
EFIAPI
((VOID *)Private[2]);    // close PCI IO(
  VOID
);

EFI_STATUS
EFIAPI
Output Protocol: QueryMode(
  VOID
);

EFI_STATUS
EFIAPI
= CR (This, ASPEED_PRIVATE_DATA, GopMode, ASPEED_PRIVATE_DATA_SIGNATURE);(
  VOID
);

EFI_STATUS
EFIAPI
mode info structure(
  VOID
);

EFI_STATUS
EFIAPI
= AspAllocatePool (sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION));(
  VOID
);

EFI_STATUS
EFIAPI
in mode info from the mode configuration table(
  VOID
);

EFI_STATUS
EFIAPI
pixel format and bitmasks based on color depth(
  VOID
);

EFI_STATUS
EFIAPI
(Private, ModeNumber, ModeInfo);(
  VOID
);

EFI_STATUS
EFIAPI
Output Protocol: SetMode(
  VOID
);

EFI_STATUS
EFIAPI
existing frame buffer if any(
  VOID
);

EFI_STATUS
EFIAPI
= (VOID *)(UINTN)Private->FrameBufferBase;(
  VOID
);

EFI_STATUS
EFIAPI
frame buffer size(
  VOID
);

EFI_STATUS
EFIAPI
= Private->ModeConfigTable[ModeNumber].HorizontalResolution;(
  VOID
);

EFI_STATUS
EFIAPI
frame buffer(
  VOID
);

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

EFI_STATUS
EFIAPI
the CRTC registers for the requested mode(
  VOID
);

EFI_STATUS
EFIAPI
(Private, &gAspModeTable[ModeNumber]);(
  VOID
);

EFI_STATUS
EFIAPI
mode structure(
  VOID
);

EFI_STATUS
EFIAPI
pixel format(
  VOID
);

EFI_STATUS
EFIAPI
= This->Mode->Info;(
  VOID
);

EFI_STATUS
EFIAPI
the frame buffer address in hardware(
  VOID
);

EFI_STATUS
EFIAPI
hardware registers(
  VOID
);

EFI_STATUS
EFIAPI
(Private, This->Mode);(
  VOID
);

EFI_STATUS
EFIAPI
Output Protocol: Blt (BitBLT)(
  VOID
);

EFI_STATUS
EFIAPI
bounds(
  VOID
);

EFI_STATUS
EFIAPI
= This->Mode->Info->HorizontalResolution;(
  VOID
);

EFI_STATUS
EFIAPI
Fill: Fill a rectangle with a solid color(
  VOID
);

EFI_STATUS
EFIAPI
((BltBuffer == NULL) || (DestinationX + Width  > FbWidth) ||(
  VOID
);

/// implemented with
EFI_STATUS
EFIAPI
via VideoToVideo or direct draw(
  VOID
);

EFI_STATUS
EFIAPI
of a 1-pixel wide brush(
  VOID
);

EFI_STATUS
EFIAPI
to BLT Buffer: Read from frame buffer(
  VOID
);

EFI_STATUS
EFIAPI
((BltBuffer == NULL) || (SourceX + Width > FbWidth) ||(
  VOID
);

EFI_STATUS
EFIAPI
line by line (bottom-up in VGA)(
  VOID
);

EFI_STATUS
EFIAPI
to Video: Copy within frame buffer(
  VOID
);

EFI_STATUS
EFIAPI
accelerated via ASPEED FIFO registers(
  VOID
);

EFI_STATUS
EFIAPI
initialization sequence(
  VOID
);

EFI_STATUS
EFIAPI
1: Mask sequencer interrupts(
  VOID
);

EFI_STATUS
EFIAPI
= 1;(
  VOID
);

EFI_STATUS
EFIAPI
2: Program CRTC clocking (register 0x42 = 35, CRTC index)(
  VOID
);

EFI_STATUS
EFIAPI
= 35;(
  VOID
);

EFI_STATUS
EFIAPI
3: Set horizontal total (register 0x42 = offset 84 = HTOTAL)(
  VOID
);

EFI_STATUS
EFIAPI
AspCrtcWrite16 (Private, ASPEED_REG_CRTC, 84, RegPair);(
  VOID
);

EFI_STATUS
EFIAPI
4: Set horizontal display enable end(
  VOID
);

EFI_STATUS
EFIAPI
ASPEED timing(
  VOID
);

EFI_STATUS
EFIAPI
5: Clear vertical sync interrupt(
  VOID
);

EFI_STATUS
EFIAPI
(Private, ASPEED_REG_SEQUENCER, 964, 33);(
  VOID
);

EFI_STATUS
EFIAPI
6: Program gamma/palette for index values 0x81-0x9E(
  VOID
);

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

EFI_STATUS
EFIAPI
7: Palette table (VGA DAC data at 0x6C70)(
  VOID
);

EFI_STATUS
EFIAPI
= (UINT8 *)&unk_6C70;(
  VOID
);

EFI_STATUS
EFIAPI
8: Enable CRTC display(
  VOID
);

EFI_STATUS
EFIAPI
(Private, ASPEED_REG_CRTC, 980, 0x8C);(
  VOID
);

EFI_STATUS
EFIAPI
9: Set display mode flags(
  VOID
);

EFI_STATUS
EFIAPI
(Private, ASPEED_REG_CRTC, 980, 0x90);(
  VOID
);

EFI_STATUS
EFIAPI
10: Check if display mode register needs PLL programming(
  VOID
);

EFI_STATUS
EFIAPI
((AspCrtcRead (Private, ASPEED_REG_CRTC, 980, 0xD0) & 0xC0) == 0) {(
  VOID
);

EFI_STATUS
EFIAPI
PLL registers (MMIO at 0x1E600000 + offset)(
  VOID
);

EFI_STATUS
EFIAPI
(Private, ASPEED_HW_BASE + 0x1E60000, 0xAE000000);(
  VOID
);

EFI_STATUS
EFIAPI
11: Poll display status ready(
  VOID
);

EFI_STATUS
EFIAPI
12: Program misc CRTC register 0xB3(
  VOID
);

EFI_STATUS
EFIAPI
(Private, ASPEED_REG_CRTC, 980, 0xCF);(
  VOID
);

EFI_STATUS
EFIAPI
13: Set GPIO/strap register for display(
  VOID
);

EFI_STATUS
EFIAPI
(Private, ASPEED_REG_CRTC, 980, 0xA4);(
  VOID
);

EFI_STATUS
EFIAPI
14: Enable MMIO access(
  VOID
);

EFI_STATUS
EFIAPI
(Private, ASPEED_MMIO_CTRL, 0xF2000000);(
  VOID
);

EFI_STATUS
EFIAPI
15: Restore DPMS(
  VOID
);

EFI_STATUS
EFIAPI
table initialization(
  VOID
);

EFI_STATUS
EFIAPI
EDID (Extended Display Identification Data)(
  VOID
);

EFI_STATUS
EFIAPI
EDID retrieval(
  VOID
);

EFI_STATUS
EFIAPI
= AspGetEdidInfo (Private, &MonitorType, &NumModes);(
  VOID
);

EFI_STATUS
EFIAPI
unavailable, use built-in mode table(
  VOID
);

EFI_STATUS
EFIAPI
= 0;(
  VOID
);

EFI_STATUS
EFIAPI
display type from scratch register(
  VOID
);

EFI_STATUS
EFIAPI
= AspCrtcRead (Private, ASPEED_REG_CRTC, 980, 0xD0);(
  VOID
);

EFI_STATUS
EFIAPI
display flags based on available monitors(
  VOID
);

EFI_STATUS
EFIAPI
detected(
  VOID
);

EFI_STATUS
EFIAPI
modes: each mode entry has flags indicating compatibility(
  VOID
);

EFI_STATUS
EFIAPI
= (UINT8 *)&gAspModeTable[0];(
  VOID
);

EFI_STATUS
EFIAPI
mode by capabilities:(
  VOID
);

EFI_STATUS
EFIAPI
(((ModeFlag & ASPEED_MODE_FLAG_ANALOG) && !MonitorTypeAnalog) ||(
  VOID
);

EFI_STATUS
EFIAPI
this mode(
  VOID
);

EFI_STATUS
EFIAPI
known hardware limits(
  VOID
);

EFI_STATUS
EFIAPI
mode to the private mode table(
  VOID
);

EFI_STATUS
EFIAPI
the Graphics Output Protocol(
  VOID
);

EFI_STATUS
EFIAPI
GOP function table(
  VOID
);

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

EFI_STATUS
EFIAPI
mode info structure within the GOP mode(
  VOID
);

EFI_STATUS
EFIAPI
GOP mode structure(
  VOID
);

EFI_STATUS
EFIAPI
*((UINT32 *)((EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *)((EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *)GopModeInfo)->Info) + 1) = 0xFFFF;  // Mode (invalid)(
  VOID
);

EFI_STATUS
EFIAPI
mode set yet(
  VOID
);

EFI_STATUS
EFIAPI
mode to mode 0 (default)(
  VOID
);

EFI_STATUS
EFIAPI
((
  VOID
);

#endif /* __794E15D9-BF1B-4568-99AC-DCE207C022E4_H__ */