ArmPkg: only attempt buildin MmCommunicationDxe for AArch64
[mirror_edk2.git] / MdeModulePkg / Core / DxeIplPeim / DxeIpl.inf
1 ## @file
2 # Last PEIM executed in PEI phase to load DXE Core from a Firmware Volume.
3 #
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.
7 #
8 # Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
9 # Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
10 # Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
11 #
12 # SPDX-License-Identifier: BSD-2-Clause-Patent
13 #
14 ##
15
16 [Defines]
17 INF_VERSION = 0x00010005
18 BASE_NAME = DxeIpl
19 MODULE_UNI_FILE = DxeIpl.uni
20 FILE_GUID = 86D70125-BAA3-4296-A62F-602BEBBB9081
21 MODULE_TYPE = PEIM
22 VERSION_STRING = 1.0
23
24 ENTRY_POINT = PeimInitializeDxeIpl
25
26 #
27 # The following information is for reference only and not required by the build tools.
28 #
29 # VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only) AARCH64 RISCV64
30 #
31
32 [Sources]
33 DxeIpl.h
34 DxeLoad.c
35
36 [Sources.Ia32]
37 X64/VirtualMemory.h
38 X64/VirtualMemory.c
39 Ia32/DxeLoadFunc.c
40 Ia32/IdtVectorAsm.nasm
41
42 [Sources.X64]
43 X64/VirtualMemory.h
44 X64/VirtualMemory.c
45 X64/DxeLoadFunc.c
46
47 [Sources.EBC]
48 Ebc/DxeLoadFunc.c
49
50 [Sources.ARM, Sources.AARCH64]
51 Arm/DxeLoadFunc.c
52
53 [Sources.RISCV64]
54 RiscV64/DxeLoadFunc.c
55
56 [Packages]
57 MdePkg/MdePkg.dec
58 MdeModulePkg/MdeModulePkg.dec
59
60 [Packages.ARM, Packages.AARCH64]
61 ArmPkg/ArmPkg.dec
62
63 [LibraryClasses]
64 PcdLib
65 MemoryAllocationLib
66 BaseMemoryLib
67 ExtractGuidedSectionLib
68 UefiDecompressLib
69 ReportStatusCodeLib
70 PeiServicesLib
71 HobLib
72 BaseLib
73 PeimEntryPoint
74 DebugLib
75 DebugAgentLib
76 PeiServicesTablePointerLib
77 PerformanceLib
78
79 [LibraryClasses.ARM, LibraryClasses.AARCH64]
80 ArmMmuLib
81
82 [Ppis]
83 gEfiDxeIplPpiGuid ## PRODUCES
84 gEfiPeiDecompressPpiGuid ## PRODUCES
85 gEfiEndOfPeiSignalPpiGuid ## SOMETIMES_PRODUCES # Not produced on S3 boot path
86 gEfiPeiReadOnlyVariable2PpiGuid ## SOMETIMES_CONSUMES
87 gEfiPeiLoadFilePpiGuid ## SOMETIMES_CONSUMES
88 gEfiPeiS3Resume2PpiGuid ## SOMETIMES_CONSUMES # Consumed on S3 boot path
89 gEfiPeiRecoveryModulePpiGuid ## SOMETIMES_CONSUMES # Consumed on recovery boot path
90 ## SOMETIMES_CONSUMES
91 ## UNDEFINED # HOB
92 gEfiVectorHandoffInfoPpiGuid
93 gEfiPeiMemoryDiscoveredPpiGuid ## SOMETIMES_CONSUMES
94 gEdkiiPeiBootInCapsuleOnDiskModePpiGuid ## SOMETIMES_CONSUMES
95 gEdkiiPeiCapsuleOnDiskPpiGuid ## SOMETIMES_CONSUMES # Consumed on firmware update boot path
96
97 [Guids]
98 ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation"
99 ## SOMETIMES_PRODUCES ## HOB
100 gEfiMemoryTypeInformationGuid
101
102 [FeaturePcd.IA32]
103 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES
104
105 [FeaturePcd.X64]
106 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables ## CONSUMES
107
108 [FeaturePcd]
109 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress ## CONSUMES
110
111 [Pcd.IA32,Pcd.X64]
112 gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES
113 gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES
114 gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask ## CONSUMES
115 gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask ## CONSUMES
116 gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard ## CONSUMES
117 gEfiMdeModulePkgTokenSpaceGuid.PcdUse5LevelPageTable ## SOMETIMES_CONSUMES
118
119 [Pcd.IA32,Pcd.X64,Pcd.ARM,Pcd.AARCH64]
120 gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack ## SOMETIMES_CONSUMES
121 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy ## SOMETIMES_CONSUMES
122 gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy ## SOMETIMES_CONSUMES
123
124 [Depex]
125 gEfiPeiLoadFilePpiGuid AND gEfiPeiMasterBootModePpiGuid
126
127 #
128 # [BootMode]
129 # S3_RESUME ## SOMETIMES_CONSUMES
130 # RECOVERY_FULL ## SOMETIMES_CONSUMES
131 #
132 #
133 # [Hob]
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
137 #
138 # [Hob.IPF]
139 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_BSP_STORE
140 #
141
142 [UserExtensions.TianoCore."ExtraFiles"]
143 DxeIplExtra.uni