]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
MdeModulePkg/DxeIpl: support more NX related PCDs
[mirror_edk2.git] / MdeModulePkg / Core / DxeIplPeim / DxeIpl.inf
CommitLineData
6bfbb5f0 1## @file\r
31f228cf 2# Last PEIM executed in PEI phase to load DXE Core from a Firmware Volume.\r
e7af83ae 3#\r
31f228cf 4# This module produces a special PPI named the DXE Initial Program Load (IPL)\r
5# PPI to discover and dispatch the DXE Foundation and components that are\r
6# needed to run the DXE Foundation.\r
7#\r
6d614649 8# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
5997daf7
LD
9# Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>\r
10#\r
cd5ebaa0 11# This program and the accompanying materials\r
31f228cf 12# are licensed and made available under the terms and conditions of the BSD License\r
13# which accompanies this distribution. The full text of the license may be found at\r
14# http://opensource.org/licenses/bsd-license.php\r
e7af83ae 15#\r
31f228cf 16# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
17# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
e7af83ae 18#\r
6bfbb5f0 19##\r
31f228cf 20\r
21[Defines]\r
22 INF_VERSION = 0x00010005\r
23 BASE_NAME = DxeIpl\r
6036e94d 24 MODULE_UNI_FILE = DxeIpl.uni\r
31f228cf 25 FILE_GUID = 86D70125-BAA3-4296-A62F-602BEBBB9081\r
26 MODULE_TYPE = PEIM\r
27 VERSION_STRING = 1.0\r
28\r
29 ENTRY_POINT = PeimInitializeDxeIpl\r
30\r
31#\r
32# The following information is for reference only and not required by the build tools.\r
33#\r
de005223 34# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only) AARCH64\r
31f228cf 35#\r
36\r
6bfbb5f0 37[Sources]\r
31f228cf 38 DxeIpl.h\r
39 DxeLoad.c\r
40\r
41[Sources.Ia32]\r
307a19a7
LG
42 X64/VirtualMemory.h\r
43 X64/VirtualMemory.c\r
31f228cf 44 Ia32/DxeLoadFunc.c\r
307a19a7 45 Ia32/IdtVectorAsm.nasm\r
31f228cf 46\r
47[Sources.X64]\r
48 X64/VirtualMemory.h\r
49 X64/VirtualMemory.c\r
50255363 50 X64/DxeLoadFunc.c\r
31f228cf 51\r
31f228cf 52[Sources.EBC]\r
53 Ebc/DxeLoadFunc.c\r
54\r
716e5077 55[Sources.ARM, Sources.AARCH64]\r
31f228cf 56 Arm/DxeLoadFunc.c\r
57\r
58[Packages]\r
59 MdePkg/MdePkg.dec\r
60 MdeModulePkg/MdeModulePkg.dec\r
61\r
c82b8087
AB
62[Packages.ARM, Packages.AARCH64]\r
63 ArmPkg/ArmPkg.dec\r
64\r
31f228cf 65[LibraryClasses]\r
66 PcdLib\r
67 MemoryAllocationLib\r
68 BaseMemoryLib\r
69 ExtractGuidedSectionLib\r
70 UefiDecompressLib\r
71 ReportStatusCodeLib\r
72 PeiServicesLib\r
73 HobLib\r
74 BaseLib\r
75 PeimEntryPoint\r
76 DebugLib\r
e7af83ae 77 DebugAgentLib\r
bdfbe63e 78 PeiServicesTablePointerLib\r
98d20e44 79 PerformanceLib\r
31f228cf 80\r
c82b8087 81[LibraryClasses.ARM, LibraryClasses.AARCH64]\r
5db1cce1 82 ArmMmuLib\r
c82b8087 83\r
31f228cf 84[Ppis]\r
85 gEfiDxeIplPpiGuid ## PRODUCES\r
6036e94d
SZ
86 gEfiPeiDecompressPpiGuid ## PRODUCES\r
87 gEfiEndOfPeiSignalPpiGuid ## SOMETIMES_PRODUCES # Not produced on S3 boot path\r
31f228cf 88 gEfiPeiReadOnlyVariable2PpiGuid ## SOMETIMES_CONSUMES\r
6036e94d
SZ
89 gEfiPeiLoadFilePpiGuid ## SOMETIMES_CONSUMES\r
90 gEfiPeiS3Resume2PpiGuid ## SOMETIMES_CONSUMES # Consumed on S3 boot path\r
91 gEfiPeiRecoveryModulePpiGuid ## SOMETIMES_CONSUMES # Consumed on recovery boot path\r
92 ## SOMETIMES_CONSUMES\r
93 ## UNDEFINED # HOB\r
94 gEfiVectorHandoffInfoPpiGuid\r
ebaafbe6 95 gEfiPeiMemoryDiscoveredPpiGuid ## SOMETIMES_CONSUMES\r
31f228cf 96\r
97[Guids]\r
6036e94d
SZ
98 ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation"\r
99 ## SOMETIMES_PRODUCES ## HOB\r
100 gEfiMemoryTypeInformationGuid\r
31f228cf 101\r
102[FeaturePcd.IA32]\r
6036e94d 103 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES\r
31f228cf 104\r
e47f0da4 105[FeaturePcd.X64]\r
6036e94d 106 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables ## CONSUMES\r
e47f0da4 107\r
6bfbb5f0 108[FeaturePcd]\r
6036e94d 109 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress ## CONSUMES\r
31f228cf 110\r
378175d2 111[Pcd.IA32,Pcd.X64]\r
5997daf7
LD
112 gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES\r
113 gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES\r
9189ec20 114 gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask ## CONSUMES\r
e63da9f0 115 gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask ## CONSUMES\r
50255363 116 gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard ## CONSUMES\r
c82b8087
AB
117\r
118[Pcd.IA32,Pcd.X64,Pcd.ARM,Pcd.AARCH64]\r
5630cdfe 119 gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack ## SOMETIMES_CONSUMES\r
52679261
JW
120 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy ## SOMETIMES_CONSUMES\r
121 gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy ## SOMETIMES_CONSUMES\r
378175d2 122\r
31f228cf 123[Depex]\r
ebaafbe6 124 gEfiPeiLoadFilePpiGuid AND gEfiPeiMasterBootModePpiGuid\r
31f228cf 125\r
126#\r
e7af83ae 127# [BootMode]\r
6036e94d
SZ
128# S3_RESUME ## SOMETIMES_CONSUMES\r
129# RECOVERY_FULL ## SOMETIMES_CONSUMES\r
31f228cf 130#\r
e7af83ae 131#\r
31f228cf 132# [Hob]\r
6036e94d 133# MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_MODULE for DxeCore\r
50255363 134# MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # New Stack HoB\r
6036e94d 135# MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # Old Stack HOB\r
31f228cf 136#\r
137# [Hob.IPF]\r
6036e94d 138# MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_BSP_STORE\r
e7af83ae 139#\r
6036e94d
SZ
140\r
141[UserExtensions.TianoCore."ExtraFiles"]\r
142 DxeIplExtra.uni\r