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 - 2018, Intel Corporation. All rights reserved.<BR>
9 # Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
11 # This program and the accompanying materials
12 # are licensed and made available under the terms and conditions of the BSD License
13 # which accompanies this distribution. The full text of the license may be found at
14 # http://opensource.org/licenses/bsd-license.php
16 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
17 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
22 INF_VERSION = 0x00010005
24 MODULE_UNI_FILE = DxeIpl.uni
25 FILE_GUID = 86D70125-BAA3-4296-A62F-602BEBBB9081
29 ENTRY_POINT = PeimInitializeDxeIpl
32 # The following information is for reference only and not required by the build tools.
34 # VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only) AARCH64
45 Ia32/IdtVectorAsm.nasm
55 [Sources.ARM, Sources.AARCH64]
60 MdeModulePkg/MdeModulePkg.dec
62 [Packages.ARM, Packages.AARCH64]
69 ExtractGuidedSectionLib
78 PeiServicesTablePointerLib
81 [LibraryClasses.ARM, LibraryClasses.AARCH64]
85 gEfiDxeIplPpiGuid ## PRODUCES
86 gEfiPeiDecompressPpiGuid ## PRODUCES
87 gEfiEndOfPeiSignalPpiGuid ## SOMETIMES_PRODUCES # Not produced on S3 boot path
88 gEfiPeiReadOnlyVariable2PpiGuid ## SOMETIMES_CONSUMES
89 gEfiPeiLoadFilePpiGuid ## SOMETIMES_CONSUMES
90 gEfiPeiS3Resume2PpiGuid ## SOMETIMES_CONSUMES # Consumed on S3 boot path
91 gEfiPeiRecoveryModulePpiGuid ## SOMETIMES_CONSUMES # Consumed on recovery boot path
94 gEfiVectorHandoffInfoPpiGuid
95 gEfiPeiMemoryDiscoveredPpiGuid ## SOMETIMES_CONSUMES
98 ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation"
99 ## SOMETIMES_PRODUCES ## HOB
100 gEfiMemoryTypeInformationGuid
103 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES
106 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables ## CONSUMES
109 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress ## CONSUMES
112 gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES
113 gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES
114 gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask ## CONSUMES
115 gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask ## CONSUMES
116 gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard ## CONSUMES
118 [Pcd.IA32,Pcd.X64,Pcd.ARM,Pcd.AARCH64]
119 gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack ## SOMETIMES_CONSUMES
120 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy ## SOMETIMES_CONSUMES
121 gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy ## SOMETIMES_CONSUMES
124 gEfiPeiLoadFilePpiGuid AND gEfiPeiMasterBootModePpiGuid
128 # S3_RESUME ## SOMETIMES_CONSUMES
129 # RECOVERY_FULL ## SOMETIMES_CONSUMES
133 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_MODULE for DxeCore
134 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # New Stack HoB
135 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # Old Stack HOB
138 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_BSP_STORE
141 [UserExtensions.TianoCore."ExtraFiles"]