## @file | |
# Last PEIM executed in PEI phase to load DXE Core from a Firmware Volume. | |
# | |
# This module produces a special PPI named the DXE Initial Program Load (IPL) | |
# PPI to discover and dispatch the DXE Foundation and components that are | |
# needed to run the DXE Foundation. | |
# | |
# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> | |
# Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR> | |
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> | |
# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR> | |
# | |
# SPDX-License-Identifier: BSD-2-Clause-Patent | |
# | |
## | |
[Defines] | |
INF_VERSION = 0x00010005 | |
BASE_NAME = DxeIpl | |
MODULE_UNI_FILE = DxeIpl.uni | |
FILE_GUID = 86D70125-BAA3-4296-A62F-602BEBBB9081 | |
MODULE_TYPE = PEIM | |
VERSION_STRING = 1.0 | |
ENTRY_POINT = PeimInitializeDxeIpl | |
# | |
# The following information is for reference only and not required by the build tools. | |
# | |
# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only) AARCH64 RISCV64 LOONGARCH64 | |
# | |
[Sources] | |
DxeIpl.h | |
DxeLoad.c | |
[Sources.Ia32] | |
X64/VirtualMemory.h | |
X64/VirtualMemory.c | |
Ia32/DxeLoadFunc.c | |
Ia32/IdtVectorAsm.nasm | |
[Sources.X64] | |
X64/VirtualMemory.h | |
X64/VirtualMemory.c | |
X64/DxeLoadFunc.c | |
[Sources.LOONGARCH64,Sources.RISCV64,Sources.EBC,Sources.ARM,Sources.AARCH64] | |
DxeHandoff.c | |
[Packages] | |
MdePkg/MdePkg.dec | |
MdeModulePkg/MdeModulePkg.dec | |
[LibraryClasses] | |
PcdLib | |
MemoryAllocationLib | |
BaseMemoryLib | |
ExtractGuidedSectionLib | |
UefiDecompressLib | |
ReportStatusCodeLib | |
PeiServicesLib | |
HobLib | |
BaseLib | |
PeimEntryPoint | |
DebugLib | |
DebugAgentLib | |
PeiServicesTablePointerLib | |
PerformanceLib | |
[Ppis] | |
gEfiDxeIplPpiGuid ## PRODUCES | |
gEfiPeiDecompressPpiGuid ## PRODUCES | |
gEfiEndOfPeiSignalPpiGuid ## SOMETIMES_PRODUCES # Not produced on S3 boot path | |
gEfiPeiReadOnlyVariable2PpiGuid ## SOMETIMES_CONSUMES | |
gEfiPeiLoadFilePpiGuid ## SOMETIMES_CONSUMES | |
gEfiPeiS3Resume2PpiGuid ## SOMETIMES_CONSUMES # Consumed on S3 boot path | |
gEfiPeiRecoveryModulePpiGuid ## SOMETIMES_CONSUMES # Consumed on recovery boot path | |
## SOMETIMES_CONSUMES | |
## UNDEFINED # HOB | |
gEfiVectorHandoffInfoPpiGuid | |
gEfiPeiMemoryDiscoveredPpiGuid ## SOMETIMES_CONSUMES | |
gEdkiiPeiBootInCapsuleOnDiskModePpiGuid ## SOMETIMES_CONSUMES | |
gEdkiiPeiCapsuleOnDiskPpiGuid ## SOMETIMES_CONSUMES # Consumed on firmware update boot path | |
gEdkiiMemoryAttributePpiGuid ## SOMETIMES_CONSUMES | |
[Guids] | |
## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation" | |
## SOMETIMES_PRODUCES ## HOB | |
gEfiMemoryTypeInformationGuid | |
[FeaturePcd.IA32] | |
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES | |
[FeaturePcd.X64] | |
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables ## CONSUMES | |
[FeaturePcd] | |
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress ## CONSUMES | |
[Pcd.IA32,Pcd.X64] | |
gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask ## CONSUMES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask ## CONSUMES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard ## CONSUMES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdUse5LevelPageTable ## SOMETIMES_CONSUMES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase ## CONSUMES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbSize ## CONSUMES | |
[Pcd.IA32,Pcd.X64,Pcd.ARM,Pcd.AARCH64] | |
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy ## SOMETIMES_CONSUMES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy ## SOMETIMES_CONSUMES | |
[Pcd] | |
gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack ## SOMETIMES_CONSUMES | |
[Depex] | |
gEfiPeiLoadFilePpiGuid AND gEfiPeiMasterBootModePpiGuid | |
# | |
# [BootMode] | |
# S3_RESUME ## SOMETIMES_CONSUMES | |
# RECOVERY_FULL ## SOMETIMES_CONSUMES | |
# | |
# | |
# [Hob] | |
# MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_MODULE for DxeCore | |
# MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # New Stack HoB | |
# MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # Old Stack HOB | |
# | |
# [Hob.IPF] | |
# MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_BSP_STORE | |
# | |
[UserExtensions.TianoCore."ExtraFiles"] | |
DxeIplExtra.uni |