AMI-Aptio-BIOS-Reversed / MdeModulePkg / Core / DxeIplPeim /
@Ajax Dong Ajax Dong authored on 6 Jun
..
DxeIpl.c Full restructure 3 months ago
DxeIpl.h Full restructure 3 months ago
DxeIpl.md Full restructure 3 months ago
DxeIplAllocPages.c Full restructure 3 months ago
DxeIplAllocPagesBelow4G.c Full restructure 3 months ago
DxeIplAllocatePages.c Full restructure 3 months ago
DxeIplAllocateZeroPages.c Full restructure 3 months ago
DxeIplCheckBootMode.c Full restructure 3 months ago
DxeIplCopyMem.c Full restructure 3 months ago
DxeIplCreatePageTables.c Full restructure 3 months ago
DxeIplDebugPrint.c Full restructure 3 months ago
DxeIplDebugPrintGuid.c Full restructure 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 Full restructure 3 months ago
DxeIplDiscoverDxeCore.c Full restructure 3 months ago
DxeIplDxeIplPpiNotify.c Full restructure 3 months ago
DxeIplEndOfPeiNotify.c Full restructure 3 months ago
DxeIplEntry.c Full restructure 3 months ago
DxeIplFreePages.c Full restructure 3 months ago
DxeIplFvExtractSection.c Full restructure 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 Full restructure 3 months ago
DxeIplFvReadSection.c Full restructure 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 Full restructure 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 Full restructure 3 months ago
DxeIplGetNextHob.c Full restructure 3 months ago
DxeIplGetPeiBootMode.c Full restructure 3 months ago
DxeIplGetPeiProtocol.c Full restructure 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 Full restructure 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 Full restructure 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 Full restructure 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)