2 # Last PEIM executed in PEI phase to load DXE Core from a Firmware Volume.
4 # This module produces a special PPI named the DXE Initial Program Load (IPL)
5 # PPI to discover and dispatch the DXE Foundation and components that are
6 # needed to run the DXE Foundation.
8 # Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
9 # Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
11 # SPDX-License-Identifier: BSD-2-Clause-Patent
16 INF_VERSION = 0x00010005
18 MODULE_UNI_FILE = DxeIpl.uni
19 FILE_GUID = 86D70125-BAA3-4296-A62F-602BEBBB9081
23 ENTRY_POINT = PeimInitializeDxeIpl
26 # The following information is for reference only and not required by the build tools.
28 # VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only) AARCH64
39 Ia32/IdtVectorAsm.nasm
49 [Sources.ARM, Sources.AARCH64]
54 MdeModulePkg/MdeModulePkg.dec
56 [Packages.ARM, Packages.AARCH64]
63 ExtractGuidedSectionLib
72 PeiServicesTablePointerLib
75 [LibraryClasses.ARM, LibraryClasses.AARCH64]
79 gEfiDxeIplPpiGuid ## PRODUCES
80 gEfiPeiDecompressPpiGuid ## PRODUCES
81 gEfiEndOfPeiSignalPpiGuid ## SOMETIMES_PRODUCES # Not produced on S3 boot path
82 gEfiPeiReadOnlyVariable2PpiGuid ## SOMETIMES_CONSUMES
83 gEfiPeiLoadFilePpiGuid ## SOMETIMES_CONSUMES
84 gEfiPeiS3Resume2PpiGuid ## SOMETIMES_CONSUMES # Consumed on S3 boot path
85 gEfiPeiRecoveryModulePpiGuid ## SOMETIMES_CONSUMES # Consumed on recovery boot path
88 gEfiVectorHandoffInfoPpiGuid
89 gEfiPeiMemoryDiscoveredPpiGuid ## SOMETIMES_CONSUMES
90 gEdkiiPeiBootInCapsuleOnDiskModePpiGuid ## SOMETIMES_CONSUMES
91 gEdkiiPeiCapsuleOnDiskPpiGuid ## SOMETIMES_CONSUMES # Consumed on firmware update boot path
94 ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation"
95 ## SOMETIMES_PRODUCES ## HOB
96 gEfiMemoryTypeInformationGuid
99 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES
102 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables ## CONSUMES
105 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress ## CONSUMES
108 gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES
109 gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES
110 gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask ## CONSUMES
111 gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask ## CONSUMES
112 gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard ## CONSUMES
113 gEfiMdeModulePkgTokenSpaceGuid.PcdUse5LevelPageTable ## SOMETIMES_CONSUMES
115 [Pcd.IA32,Pcd.X64,Pcd.ARM,Pcd.AARCH64]
116 gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack ## SOMETIMES_CONSUMES
117 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy ## SOMETIMES_CONSUMES
118 gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy ## SOMETIMES_CONSUMES
121 gEfiPeiLoadFilePpiGuid AND gEfiPeiMasterBootModePpiGuid
125 # S3_RESUME ## SOMETIMES_CONSUMES
126 # RECOVERY_FULL ## SOMETIMES_CONSUMES
130 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_MODULE for DxeCore
131 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # New Stack HoB
132 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # Old Stack HOB
135 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_BSP_STORE
138 [UserExtensions.TianoCore."ExtraFiles"]