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 IPF EBC (EBC is for build only) AARCH64
45 Ia32/IdtVectorAsm.nasm
58 [Sources.ARM, Sources.AARCH64]
63 MdeModulePkg/MdeModulePkg.dec
65 [Packages.ARM, Packages.AARCH64]
72 ExtractGuidedSectionLib
81 PeiServicesTablePointerLib
84 [LibraryClasses.ARM, LibraryClasses.AARCH64]
88 gEfiDxeIplPpiGuid ## PRODUCES
89 gEfiPeiDecompressPpiGuid ## PRODUCES
90 gEfiEndOfPeiSignalPpiGuid ## SOMETIMES_PRODUCES # Not produced on S3 boot path
91 gEfiPeiReadOnlyVariable2PpiGuid ## SOMETIMES_CONSUMES
92 gEfiPeiLoadFilePpiGuid ## SOMETIMES_CONSUMES
93 gEfiPeiS3Resume2PpiGuid ## SOMETIMES_CONSUMES # Consumed on S3 boot path
94 gEfiPeiRecoveryModulePpiGuid ## SOMETIMES_CONSUMES # Consumed on recovery boot path
97 gEfiVectorHandoffInfoPpiGuid
98 gEfiPeiMemoryDiscoveredPpiGuid ## SOMETIMES_CONSUMES
101 ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation"
102 ## SOMETIMES_PRODUCES ## HOB
103 gEfiMemoryTypeInformationGuid
106 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES
109 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables ## CONSUMES
112 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress ## CONSUMES
115 gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES
116 gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES
117 gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask ## CONSUMES
118 gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask ## CONSUMES
119 gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard ## CONSUMES
121 [Pcd.IA32,Pcd.X64,Pcd.ARM,Pcd.AARCH64]
122 gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack ## SOMETIMES_CONSUMES
125 gEfiPeiLoadFilePpiGuid AND gEfiPeiMasterBootModePpiGuid
129 # S3_RESUME ## SOMETIMES_CONSUMES
130 # RECOVERY_FULL ## SOMETIMES_CONSUMES
134 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_MODULE for DxeCore
135 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # New Stack HoB
136 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # Old Stack HOB
139 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_BSP_STORE
142 [UserExtensions.TianoCore."ExtraFiles"]