AMI-Aptio-BIOS-Reversed / PurleyPlatPkg / Platform / Pei / EarlyVideoPei /
@Ajax Dong Ajax Dong authored on 6 Jun
..
BitUnpack.c Full restructure 3 months ago
BitmapDecodeFull.c Full restructure 3 months ago
BitmapDecodeHeader.c Full restructure 3 months ago
BitmapDecodePalette.c Full restructure 3 months ago
BitmapDecodePixels.c Full restructure 3 months ago
BitmapGetBitsPerPixel.c Full restructure 3 months ago
BitmapGetColorsUsed.c Full restructure 3 months ago
BitmapGetDataOffset.c Full restructure 3 months ago
BitmapGetImageSize.c Full restructure 3 months ago
BitmapGetPaletteEntry.c Full restructure 3 months ago
BitmapRender.c Full restructure 3 months ago
BitmapRenderBlock.c Full restructure 3 months ago
BitmapRenderLine.c Full restructure 3 months ago
CopyMem.c Full restructure 3 months ago
DebugAssertPrint.c Full restructure 3 months ago
DebugAssertPrint2.c Full restructure 3 months ago
DebugAssertPrint3.c Full restructure 3 months ago
DebugHexPrint.c Full restructure 3 months ago
DebugPrintAll.c Full restructure 3 months ago
DebugPrintEntry.c Full restructure 3 months ago
DebugVgaPrint.c Full restructure 3 months ago
DebugVgaPrintStr.c Full restructure 3 months ago
EarlyVideoPei.c Full restructure 3 months ago
EarlyVideoPei.h Full restructure 3 months ago
EarlyVideoPei.md Full restructure 3 months ago
EarlyVideoPei_function_list.csv Full restructure 3 months ago
ImageDecodeBlock0.c Full restructure 3 months ago
ImageDecodeBlock1.c Full restructure 3 months ago
ImageDecodeBlocks.c Full restructure 3 months ago
ImageDecodeDone.c Full restructure 3 months ago
ImageDecodeGetData.c Full restructure 3 months ago
ImageDecodeGetHeight.c Full restructure 3 months ago
ImageDecodeGetInfo.c Full restructure 3 months ago
ImageDecodeGetWidth.c Full restructure 3 months ago
ImageDecodeInit.c Full restructure 3 months ago
ImageDecodeMain.c Full restructure 3 months ago
ImageDecodePrintInfo.c Full restructure 3 months ago
ImageRenderAllocContext.c Full restructure 3 months ago
ImageRenderBits.c Full restructure 3 months ago
ImageRenderBlock.c Full restructure 3 months ago
ImageRenderCheckContext.c Full restructure 3 months ago
ImageRenderColorConvert.c Full restructure 3 months ago
ImageRenderCopyBlock.c Full restructure 3 months ago
ImageRenderDecode.c Full restructure 3 months ago
ImageRenderDither.c Full restructure 3 months ago
ImageRenderFull.c Full restructure 3 months ago
ImageRenderGetPixel.c Full restructure 3 months ago
ImageRenderGetScanline.c Full restructure 3 months ago
ImageRenderLine.c Full restructure 3 months ago
ImageRenderNextLine.c Full restructure 3 months ago
ImageRenderOutput.c Full restructure 3 months ago
ImageRenderPrepare.c Full restructure 3 months ago
ImageRenderProcessFull.c Full restructure 3 months ago
ImageRenderProcessLine.c Full restructure 3 months ago
ImageRenderPutPixel.c Full restructure 3 months ago
ImageRenderReadPixel.c Full restructure 3 months ago
ImageRenderRle.c Full restructure 3 months ago
ImageRenderScanline.c Full restructure 3 months ago
ImageRenderSetPixel.c Full restructure 3 months ago
ImageRenderSetPixelBlock.c Full restructure 3 months ago
ImageRenderSkipPixel.c Full restructure 3 months ago
ImageRenderToOutput.c Full restructure 3 months ago
ImageRenderWritePalette.c Full restructure 3 months ago
ImageRenderWriteScanline.c Full restructure 3 months ago
ImageXorDecodeType0.c Full restructure 3 months ago
ImageXorDecodeType1.c Full restructure 3 months ago
ImageXorDecodeType2.c Full restructure 3 months ago
ImageXorDecodeType3.c Full restructure 3 months ago
ImageXorDecodeType4.c Full restructure 3 months ago
ImageXorDecodeType5.c Full restructure 3 months ago
ImageXorDecodeType6.c Full restructure 3 months ago
ImageXorDecodeType7.c Full restructure 3 months ago
InitMultiple.c Full restructure 3 months ago
InternalCopyMem.c Full restructure 3 months ago
InternalSetMem.c Full restructure 3 months ago
InternalSetMem32.c Full restructure 3 months ago
LogoDecode.c Full restructure 3 months ago
LogoDisplayMain.c Full restructure 3 months ago
LogoRenderFull.c Full restructure 3 months ago
LogoRenderScanline.c Full restructure 3 months ago
MicroSecondDelay.c Full restructure 3 months ago
MmioCfgRead.c Full restructure 3 months ago
MmioCfgWrite.c Full restructure 3 months ago
ModuleEntryPoint.c Full restructure 3 months ago
PciCfgRead16.c Full restructure 3 months ago
PciCfgRead32.c Full restructure 3 months ago
PciCfgReadBuf.c Full restructure 3 months ago
PciCfgReadModifyWrite.c Full restructure 3 months ago
PciCfgWrite.c Full restructure 3 months ago
PciCfgWrite32.c Full restructure 3 months ago
PciCfgWriteBuf.c Full restructure 3 months ago
PciRegClearBit.c Full restructure 3 months ago
PciRegPollBitClear.c Full restructure 3 months ago
PciRegPollBitSet.c Full restructure 3 months ago
PciRegRead.c Full restructure 3 months ago
PciRegReadModify.c Full restructure 3 months ago
PciRegReadViaBar.c Full restructure 3 months ago
PciRegSetBit.c Full restructure 3 months ago
PciRegVerifyWrite.c Full restructure 3 months ago
PciRegWrite.c Full restructure 3 months ago
PciRegWriteViaBar.c Full restructure 3 months ago
PeiAllocatePool.c Full restructure 3 months ago
PeiAssert.c Full restructure 3 months ago
PeiGetBootMode.c Full restructure 3 months ago
PeiGetPeiServices.c Full restructure 3 months ago
PeiGetPeiServicesTablePtr.c Full restructure 3 months ago
PeiLocatePpi.c Full restructure 3 months ago
PeiServiceGetBootMode.c Full restructure 3 months ago
README.md Full restructure 3 months ago
SetMem.c Full restructure 3 months ago
SetMem16.c Full restructure 3 months ago
SetMem32.c Full restructure 3 months ago
VgaAttrProgram.c Full restructure 3 months ago
VgaAttrProgramPalette.c Full restructure 3 months ago
VgaCrtcProgram.c Full restructure 3 months ago
VgaCrtcProgramAll.c Full restructure 3 months ago
VgaCrtcProgramHoriz.c Full restructure 3 months ago
VgaCrtcProgramVert.c Full restructure 3 months ago
VgaCrtcRegAnd.c Full restructure 3 months ago
VgaCrtcRegReadModifyWrite.c Full restructure 3 months ago
VgaCrtcSetRegister.c Full restructure 3 months ago
VgaDisplayBlank.c Full restructure 3 months ago
VgaDisplayDisable.c Full restructure 3 months ago
VgaDisplayEnable.c Full restructure 3 months ago
VgaDisplayEnableColor.c Full restructure 3 months ago
VgaDisplayFullInit.c Full restructure 3 months ago
VgaDisplayModeSet.c Full restructure 3 months ago
VgaDisplayModeSwitch.c Full restructure 3 months ago
VgaDisplayProgram.c Full restructure 3 months ago
VgaDisplayProgramLarge.c Full restructure 3 months ago
VgaDisplaySetCursor.c Full restructure 3 months ago
VgaDisplaySetPaletteEntry.c Full restructure 3 months ago
VgaDisplaySetStartAddr.c Full restructure 3 months ago
VgaExtendedModeSetup.c Full restructure 3 months ago
VgaGcProgram.c Full restructure 3 months ago
VgaGcProgramMisc.c Full restructure 3 months ago
VgaGcProgramMode.c Full restructure 3 months ago
VgaModeColorConfig.c Full restructure 3 months ago
VgaModeConfig.c Full restructure 3 months ago
VgaModeConfigPll.c Full restructure 3 months ago
VgaModeDetect.c Full restructure 3 months ago
VgaModeDisable.c Full restructure 3 months ago
VgaModeEnable.c Full restructure 3 months ago
VgaModeInit.c Full restructure 3 months ago
VgaModeProgramAll.c Full restructure 3 months ago
VgaModeProgramAllExt.c Full restructure 3 months ago
VgaModeProgramAttr.c Full restructure 3 months ago
VgaModeProgramCrtc.c Full restructure 3 months ago
VgaModeProgramCrtcExt.c Full restructure 3 months ago
VgaModeProgramDac.c Full restructure 3 months ago
VgaModeProgramDisplay.c Full restructure 3 months ago
VgaModeProgramExt.c Full restructure 3 months ago
VgaModeProgramFifo.c Full restructure 3 months ago
VgaModeProgramGc.c Full restructure 3 months ago
VgaModeProgramLarge.c Full restructure 3 months ago
VgaModeProgramMisc.c Full restructure 3 months ago
VgaModeProgramSeq.c Full restructure 3 months ago
VgaModeRead.c Full restructure 3 months ago
VgaModeSetClock.c Full restructure 3 months ago
VgaModeSetClockMask.c Full restructure 3 months ago
VgaModeSetOffset.c Full restructure 3 months ago
VgaModeSetPalette.c Full restructure 3 months ago
VgaModeSetPaletteRange.c Full restructure 3 months ago
VgaModeSetPitch.c Full restructure 3 months ago
VgaModeSetPlane.c Full restructure 3 months ago
VgaModeSetPlanes.c Full restructure 3 months ago
VgaModeSetRefresh.c Full restructure 3 months ago
VgaModeSetResolution.c Full restructure 3 months ago
VgaModeSetSync.c Full restructure 3 months ago
VgaModeSetTiming.c Full restructure 3 months ago
VgaModeSetupFb.c Full restructure 3 months ago
VgaSeqInit.c Full restructure 3 months ago
VgaSeqProgram.c Full restructure 3 months ago
VgaSeqProgramChain.c Full restructure 3 months ago
VgaSeqProgramMap.c Full restructure 3 months ago
VgaSeqRegReadModifyWrite.c Full restructure 3 months ago
VgaSeqSetClocking.c Full restructure 3 months ago
VgaSeqUnlock.c Full restructure 3 months ago
ZeroMem.c Full restructure 3 months ago
functions_list.txt Full restructure 3 months ago
README.md

EarlyVideoPei

EarlyVideoPei is a PEI-phase video initialization module recovered from the
AMI UEFI BIOS image. The source set is decompiled and intentionally keeps IDA
types, calling-convention annotations, register comments, and raw hardware
access expressions visible for analysis.

Module Facts

Field Value
Index 420
Module EarlyVideoPei
Phase PEI
Architecture IA32 (x86, PE32)
Subsystem EFI Boot Service Driver (0x000B)
Machine 0x014C (i386)
Entry Point 0x320
Image Size 95,652 bytes
Sections .text: 45,246 / .rdata: 1,404 / .data: 48,033 / .reloc: 320
Functions 179 entries in EarlyVideoPei_function_list.csv

Layout

  • EarlyVideoPei.c is the compact aggregate decompilation for the first
    recovered functions.
  • *.c split files hold one function per file and are the easiest place to
    review individual routines.
  • EarlyVideoPei_function_list.csv records address, size, basic-block, caller,
    callee, string, and constant counts.
  • EarlyVideoPei.md groups the recovered functions by subsystem for browsing.
  • EarlyVideoPei.h contains the minimal module header used by this source set.

Functional Areas

  • Entry and PEI service helpers: ModuleEntryPoint, PeiGetPeiServices,
    PeiLocatePpi, PeiAllocatePool, PeiGetBootMode, PeiAssert.
  • Memory helpers: InternalCopyMem, CopyMem, InternalSetMem, SetMem,
    SetMem16, SetMem32, ZeroMem, InitMultiple.
  • PCI and MMIO helpers: PciCfg*, PciReg*, MmioCfgRead, MmioCfgWrite,
    MicroSecondDelay.
  • VGA register programming: VgaSeq*, VgaCrtc*, VgaGc*, VgaAttr*,
    VgaDisplay*, VgaMode*.
  • Image and logo handling: ImageDecode*, Bitmap*, ImageRender*,
    ImageXorDecodeType*, LogoDecode, LogoRender*, LogoDisplayMain.
  • Debug display support: DebugVgaPrint, DebugAssertPrint*,
    DebugPrintAll, DebugPrintEntry, DebugHexPrint, DebugVgaPrintStr.

Reading Notes

This is analysis-oriented source, not normalized firmware source. Keep the
generated names and raw expressions intact unless there is independent evidence
for a semantic rename. Prefer presentation-only cleanup: spacing, local
comments, function grouping, and cross-reference notes.