AMI-Aptio-BIOS-Reversed / MdeModulePkg / Core / DxeIplPeim /
@Ajax Dong Ajax Dong authored 7 days ago
..
DxeIpl.c Recovering names 7 days ago
DxeIpl.h Full restructure 7 days ago
DxeIpl.md Full restructure 7 days ago
DxeIplAllocPages.c Recovering names 7 days ago
DxeIplAllocPagesBelow4G.c Recovering names 7 days ago
DxeIplAllocatePages.c Full restructure 7 days ago
DxeIplAllocateZeroPages.c Full restructure 7 days ago
DxeIplCheckBootMode.c Recovering names 7 days ago
DxeIplCopyMem.c Full restructure 7 days ago
DxeIplCreatePageTables.c Recovering names 7 days ago
DxeIplDebugPrint.c Recovering names 7 days ago
DxeIplDebugPrintGuid.c Recovering names 7 days ago
DxeIplDecodeCleanup.c Full restructure 7 days ago
DxeIplDecodeData.c Full restructure 7 days ago
DxeIplDecodeSetup.c Full restructure 7 days ago
DxeIplDecompress.c Full restructure 7 days ago
DxeIplDecompressLzma.c Full restructure 7 days ago
DxeIplDecompressPages.c Recovering names 7 days ago
DxeIplDiscoverDxeCore.c Recovering names 7 days ago
DxeIplDxeIplPpiNotify.c Recovering names 7 days ago
DxeIplEndOfPeiNotify.c Recovering names 7 days ago
DxeIplEntry.c Recovering names 7 days ago
DxeIplFreePages.c Full restructure 7 days ago
DxeIplFvExtractSection.c Recovering names 7 days ago
DxeIplFvFreePages.c Full restructure 7 days ago
DxeIplFvGetFileSize.c Full restructure 7 days ago
DxeIplFvIsAddrValid.c Full restructure 7 days ago
DxeIplFvOpenDevice.c Full restructure 7 days ago
DxeIplFvProcessSections.c Recovering names 7 days ago
DxeIplFvReadSection.c Recovering names 7 days ago
DxeIplFvSetError.c Full restructure 7 days ago
DxeIplGetBootMode.c Full restructure 7 days ago
DxeIplGetBootModeFromHob.c Full restructure 7 days ago
DxeIplGetBootModeGuid.c Recovering names 7 days ago
DxeIplGetDecompressAlgo.c Full restructure 7 days ago
DxeIplGetFirstHob.c Full restructure 7 days ago
DxeIplGetFvFromHob.c Full restructure 7 days ago
DxeIplGetModuleBase.c Full restructure 7 days ago
DxeIplGetNextFfsFile.c Recovering names 7 days ago
DxeIplGetNextHob.c Full restructure 7 days ago
DxeIplGetPeiBootMode.c Full restructure 7 days ago
DxeIplGetPeiProtocol.c Recovering names 7 days ago
DxeIplGetPeiServices.c Full restructure 7 days ago
DxeIplGetPlatformBootMode.c Full restructure 7 days ago
DxeIplGetPpiPtr.c Full restructure 7 days ago
DxeIplHuffmanBuildTable.c Full restructure 7 days ago
DxeIplInitGlobalFlags.c Full restructure 7 days ago
DxeIplInstallPpi.c Recovering names 7 days ago
DxeIplLocatePpi.c Full restructure 7 days ago
DxeIplLocatePpiByGuid.c Full restructure 7 days ago
DxeIplLzmaBitDecode.c Full restructure 7 days ago
DxeIplLzmaDecodeBitTree.c Full restructure 7 days ago
DxeIplLzmaDecodeCore1.c Full restructure 7 days ago
DxeIplLzmaDecodeCore2.c Full restructure 7 days ago
DxeIplLzmaDecodeLiteral.c Full restructure 7 days ago
DxeIplLzmaDecodeMatch.c Full restructure 7 days ago
DxeIplLzmaDecodeProp.c Full restructure 7 days ago
DxeIplLzmaDecodeRange.c Full restructure 7 days ago
DxeIplLzmaDecodeStream.c Full restructure 7 days ago
DxeIplLzmaDecodeSymbol.c Full restructure 7 days ago
DxeIplLzmaGetBit.c Full restructure 7 days ago
DxeIplLzmaGetNumBits.c Full restructure 7 days ago
DxeIplLzmaGetProp.c Full restructure 7 days ago
DxeIplLzmaInitRange.c Recovering names 7 days ago
DxeIplLzmaInitState.c Full restructure 7 days ago
DxeIplLzmaNormalize.c Full restructure 7 days ago
DxeIplLzmaRangeDecode.c Full restructure 7 days ago
DxeIplMeasureFv.c Full restructure 7 days ago
DxeIplNullStall.c Full restructure 7 days ago
DxeIplOpenFv.c Full restructure 7 days ago
DxeIplPeiEndCallback.c Full restructure 7 days ago
DxeIplPpiNotifyCallback.c Full restructure 7 days ago
DxeIplReadFvSection.c Full restructure 7 days ago
DxeIplReportStatus.c Full restructure 7 days ago
DxeIplReportStatusCode.c Full restructure 7 days ago
DxeIplSetBootMode.c Full restructure 7 days ago
DxeIplSetMem16.c Full restructure 7 days ago
DxeIplSetMem32.c Full restructure 7 days ago
DxeIplSetMem64.c Full restructure 7 days ago
DxeIplTransferToDxeCore.c Recovering names 7 days ago
DxeIplZeroMem.c Full restructure 7 days ago
README.md Full restructure 7 days ago
_ModuleEntryPoint.c Full restructure 7 days ago
nullsub_2.c Full restructure 7 days ago
README.md

DxeIpl

Index: 0080 | Size: 90 KB (source) | Arch: x64 | Phase: PEI (DXE IPL)

Overview

DxeIpl (DXE Initial Program Load) is the PEI module responsible for transitioning from the PEI phase to the DXE phase. It discovers the DXE Foundation firmware volume, decompresses LZMA-compressed sections, sets up long-mode page tables, and transfers control to the DXE core entry point. This module bridges PEI and DXE by building the HOB list, initializing page tables for x64 long mode, and calling the DXE core.

Key Functions

  • DXE core discovery and load (DxeLoadCore, DxeLoadCoreByGuid)
  • LZMA and other decompression algorithm support (LzmaDecompress, LzmaUncompress)
  • x64 long-mode page table creation and identity mapping
  • HOB list hand-off to DXE core
  • Firmware Volume discovery via FV HOBs and FV info PPIs
  • CPU mode switching from PEI 32-bit to DXE 64-bit
  • Security (SEC) verification of loaded DXE core image

Protocols / PPIs / Dependencies

  • EFI_PEI_LOAD_FILE_PPI (produces)
  • EFI_PEI_DECOMPRESS_PPI
  • Firmware Volume PPI
  • PeiServicesTablePointer PPI
  • Security PPI (for image verification)

Platform

HR650X (Purley platform)