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