]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
MdeModulePkg: Allow DxeIpl to load without permanent memory
[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 - 2016, Intel Corporation. All rights reserved.<BR>
9 # This program and the accompanying materials
10 # are licensed and made available under the terms and conditions of the BSD License
11 # which accompanies this distribution. The full text of the license may be found at
12 # http://opensource.org/licenses/bsd-license.php
13 #
14 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 #
17 ##
18
19 [Defines]
20 INF_VERSION = 0x00010005
21 BASE_NAME = DxeIpl
22 MODULE_UNI_FILE = DxeIpl.uni
23 FILE_GUID = 86D70125-BAA3-4296-A62F-602BEBBB9081
24 MODULE_TYPE = PEIM
25 VERSION_STRING = 1.0
26
27 ENTRY_POINT = PeimInitializeDxeIpl
28
29 #
30 # The following information is for reference only and not required by the build tools.
31 #
32 # VALID_ARCHITECTURES = IA32 X64 IPF EBC (EBC is for build only) AARCH64
33 #
34
35 [Sources]
36 DxeIpl.h
37 DxeLoad.c
38
39 [Sources.Ia32]
40 X64/VirtualMemory.h ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
41 X64/VirtualMemory.c ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
42 Ia32/DxeLoadFunc.c
43 Ia32/IdtVectorAsm.asm||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
44 Ia32/IdtVectorAsm.S ||||gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
45
46 [Sources.X64]
47 X64/VirtualMemory.h
48 X64/VirtualMemory.c
49 X64/DxeLoadFunc.c
50
51 [Sources.IPF]
52 Ipf/DxeLoadFunc.c
53
54 [Sources.EBC]
55 Ebc/DxeLoadFunc.c
56
57 [Sources.ARM, Sources.AARCH64]
58 Arm/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
82 [LibraryClasses.ARM, LibraryClasses.AARCH64]
83 ArmLib
84
85 [Ppis]
86 gEfiDxeIplPpiGuid ## PRODUCES
87 gEfiPeiDecompressPpiGuid ## PRODUCES
88 gEfiEndOfPeiSignalPpiGuid ## SOMETIMES_PRODUCES # Not produced on S3 boot path
89 gEfiPeiReadOnlyVariable2PpiGuid ## SOMETIMES_CONSUMES
90 gEfiPeiLoadFilePpiGuid ## SOMETIMES_CONSUMES
91 gEfiPeiS3Resume2PpiGuid ## SOMETIMES_CONSUMES # Consumed on S3 boot path
92 gEfiPeiRecoveryModulePpiGuid ## SOMETIMES_CONSUMES # Consumed on recovery boot path
93 ## SOMETIMES_CONSUMES
94 ## UNDEFINED # HOB
95 gEfiVectorHandoffInfoPpiGuid
96 gEfiPeiMemoryDiscoveredPpiGuid ## SOMETIMES_CONSUMES
97
98 [Guids]
99 ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation"
100 ## SOMETIMES_PRODUCES ## HOB
101 gEfiMemoryTypeInformationGuid
102
103 [FeaturePcd.IA32]
104 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES
105
106 [FeaturePcd.X64]
107 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables ## CONSUMES
108
109 [FeaturePcd]
110 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress ## CONSUMES
111
112 [Pcd.IA32,Pcd.X64]
113 gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES
114
115 [Pcd.IA32,Pcd.X64,Pcd.ARM,Pcd.AARCH64]
116 gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack ## SOMETIMES_CONSUMES
117
118 [Depex]
119 gEfiPeiLoadFilePpiGuid AND gEfiPeiMasterBootModePpiGuid
120
121 #
122 # [BootMode]
123 # S3_RESUME ## SOMETIMES_CONSUMES
124 # RECOVERY_FULL ## SOMETIMES_CONSUMES
125 #
126 #
127 # [Hob]
128 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_MODULE for DxeCore
129 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # New Stack HoB
130 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # Old Stack HOB
131 #
132 # [Hob.IPF]
133 # MEMORY_ALLOCATION ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_BSP_STORE
134 #
135
136 [UserExtensions.TianoCore."ExtraFiles"]
137 DxeIplExtra.uni