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