]> git.proxmox.com Git - mirror_edk2.git/blame - EdkModulePkg/Core/DxeIplPeim/DxeIpl.msa
Introduce PcdDxeIplSwitchToLongMode to DxeIplPeim and remove DxeIplX64Peim.
[mirror_edk2.git] / EdkModulePkg / Core / DxeIplPeim / DxeIpl.msa
CommitLineData
abb26634 1<?xml version="1.0" encoding="UTF-8"?>\r
2<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
878ddf1f 3 <MsaHeader>\r
1f86f081 4 <ModuleName>DxeIpl</ModuleName>\r
878ddf1f 5 <ModuleType>PEIM</ModuleType>\r
1f86f081 6 <GuidValue>86D70125-BAA3-4296-A62F-602BEBBB9081</GuidValue>\r
7 <Version>1.0</Version>\r
878ddf1f 8 <Abstract>Component description file for DxeIpl module</Abstract>\r
74460d7e 9 <Description>The responsibility of this module is to load the DXE Core from a Firmware Volume. This implementation i used to load a 32-bit DXE Core.</Description>\r
15f3b1d4 10 <Copyright>Copyright (c) 2006, Intel Corporation</Copyright>\r
abb26634 11 <License>All rights reserved. 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
15 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
1f86f081 16 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>\r
17 <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>\r
878ddf1f 18 </MsaHeader>\r
1f86f081 19 <ModuleDefinitions>\r
20 <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>\r
21 <BinaryModule>false</BinaryModule>\r
22 <OutputFileBasename>DxeIpl</OutputFileBasename>\r
23 </ModuleDefinitions>\r
878ddf1f 24 <LibraryClassDefinitions>\r
1f86f081 25 <LibraryClass Usage="ALWAYS_CONSUMED">\r
26 <Keyword>DebugLib</Keyword>\r
27 </LibraryClass>\r
28 <LibraryClass Usage="ALWAYS_CONSUMED">\r
29 <Keyword>PeimEntryPoint</Keyword>\r
30 </LibraryClass>\r
31 <LibraryClass Usage="ALWAYS_CONSUMED">\r
32 <Keyword>BaseLib</Keyword>\r
33 </LibraryClass>\r
34 <LibraryClass Usage="ALWAYS_CONSUMED">\r
35 <Keyword>HobLib</Keyword>\r
36 </LibraryClass>\r
37 <LibraryClass Usage="ALWAYS_CONSUMED">\r
38 <Keyword>PerformanceLib</Keyword>\r
39 </LibraryClass>\r
40 <LibraryClass Usage="ALWAYS_CONSUMED">\r
41 <Keyword>PeiServicesLib</Keyword>\r
42 </LibraryClass>\r
43 <LibraryClass Usage="ALWAYS_CONSUMED">\r
44 <Keyword>ReportStatusCodeLib</Keyword>\r
45 </LibraryClass>\r
46 <LibraryClass Usage="ALWAYS_CONSUMED">\r
47 <Keyword>CacheMaintenanceLib</Keyword>\r
48 </LibraryClass>\r
49 <LibraryClass Usage="ALWAYS_CONSUMED">\r
50 <Keyword>EdkPeCoffLoaderLib</Keyword>\r
51 </LibraryClass>\r
52 <LibraryClass Usage="ALWAYS_CONSUMED">\r
53 <Keyword>UefiDecompressLib</Keyword>\r
54 </LibraryClass>\r
55 <LibraryClass Usage="ALWAYS_CONSUMED">\r
56 <Keyword>TianoDecompressLib</Keyword>\r
57 </LibraryClass>\r
58 <LibraryClass Usage="ALWAYS_CONSUMED">\r
59 <Keyword>CustomDecompressLib</Keyword>\r
60 </LibraryClass>\r
61 <LibraryClass Usage="ALWAYS_CONSUMED">\r
62 <Keyword>PeiServicesTablePointerLib</Keyword>\r
63 </LibraryClass>\r
64 <LibraryClass Usage="ALWAYS_CONSUMED">\r
65 <Keyword>BaseMemoryLib</Keyword>\r
66 </LibraryClass>\r
67 <LibraryClass Usage="ALWAYS_CONSUMED">\r
68 <Keyword>MemoryAllocationLib</Keyword>\r
69 </LibraryClass>\r
abb26634 70 <LibraryClass Usage="ALWAYS_CONSUMED">\r
71 <Keyword>PcdLib</Keyword>\r
72 </LibraryClass>\r
878ddf1f 73 </LibraryClassDefinitions>\r
74 <SourceFiles>\r
75 <Filename>DxeLoad.c</Filename>\r
5343eab1 76 <Filename>DxeIpl.h</Filename>\r
878ddf1f 77 <Filename>DxeIpl.dxs</Filename>\r
1f86f081 78 <Filename SupArchList="IA32">Ia32/ImageRead.c</Filename>\r
79 <Filename SupArchList="IA32">Ia32/DxeLoadFunc.c</Filename>\r
abb26634 80 <Filename SupArchList="IA32">Ia32/LongMode.asm</Filename>\r
81 <Filename ToolChainFamily="GCC" SupArchList="IA32">Ia32/LongMode.S</Filename>\r
82 <Filename SupArchList="IA32">Ia32/VirtualMemory.c</Filename>\r
83 <Filename SupArchList="IA32">Ia32/VirtualMemory.h</Filename>\r
1f86f081 84 <Filename SupArchList="X64">Ia32/ImageRead.c</Filename>\r
85 <Filename SupArchList="X64">Ia32/DxeLoadFunc.c</Filename>\r
86 <Filename SupArchList="IPF">ipf/ImageRead.c</Filename>\r
87 <Filename SupArchList="IPF">ipf/DxeLoadFunc.c</Filename>\r
88 <Filename SupArchList="EBC">Ia32/ImageRead.c</Filename>\r
89 <Filename SupArchList="EBC">Ia32/DxeLoadFunc.c</Filename>\r
abb26634 90 <Filename SupArchList="X64 IPF EBC">Non-existing.c</Filename>\r
878ddf1f 91 </SourceFiles>\r
1f86f081 92 <PackageDependencies>\r
93 <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
62f84315 94 <Package PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d"/>\r
1f86f081 95 </PackageDependencies>\r
878ddf1f 96 <Protocols>\r
1f86f081 97 <Protocol Usage="SOMETIMES_PRODUCED">\r
53b86193 98 <ProtocolCName>gEfiDecompressProtocolGuid</ProtocolCName>\r
1f86f081 99 </Protocol>\r
100 <Protocol Usage="SOMETIMES_PRODUCED">\r
53b86193 101 <ProtocolCName>gEfiTianoDecompressProtocolGuid</ProtocolCName>\r
1f86f081 102 </Protocol>\r
103 <Protocol Usage="SOMETIMES_PRODUCED">\r
53b86193 104 <ProtocolCName>gEfiCustomizedDecompressProtocolGuid</ProtocolCName>\r
1f86f081 105 </Protocol>\r
878ddf1f 106 </Protocols>\r
878ddf1f 107 <PPIs>\r
1f86f081 108 <Ppi Usage="SOMETIMES_PRODUCED">\r
53b86193 109 <PpiCName>gEfiDxeIplPpiGuid</PpiCName>\r
1f86f081 110 </Ppi>\r
111 <Ppi Usage="SOMETIMES_PRODUCED">\r
53b86193 112 <PpiCName>gEfiPeiFvFileLoaderPpiGuid</PpiCName>\r
1f86f081 113 </Ppi>\r
114 <Ppi Usage="SOMETIMES_PRODUCED">\r
53b86193 115 <PpiCName>gEfiEndOfPeiSignalPpiGuid</PpiCName>\r
1f86f081 116 </Ppi>\r
117 <Ppi Usage="SOMETIMES_CONSUMED">\r
53b86193 118 <PpiCName>gEfiPeiRecoveryModulePpiGuid</PpiCName>\r
1f86f081 119 </Ppi>\r
120 <Ppi Usage="SOMETIMES_CONSUMED">\r
53b86193 121 <PpiCName>gEfiPeiS3ResumePpiGuid</PpiCName>\r
1f86f081 122 </Ppi>\r
123 <Ppi Usage="SOMETIMES_CONSUMED">\r
53b86193 124 <PpiCName>gEfiPeiSectionExtractionPpiGuid</PpiCName>\r
1f86f081 125 </Ppi>\r
126 <Ppi Usage="SOMETIMES_CONSUMED">\r
53b86193 127 <PpiCName>gEfiPeiSecurityPpiGuid</PpiCName>\r
1f86f081 128 </Ppi>\r
878ddf1f 129 </PPIs>\r
130 <Guids>\r
1f86f081 131 <GuidCNames Usage="SOMETIMES_CONSUMED">\r
53b86193 132 <GuidCName>gEfiPeiPeCoffLoaderGuid</GuidCName>\r
1f86f081 133 </GuidCNames>\r
878ddf1f 134 </Guids>\r
135 <Externs>\r
15b06e58
LG
136 <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>\r
137 <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>\r
878ddf1f 138 <Extern>\r
139 <ModuleEntryPoint>PeimInitializeDxeIpl</ModuleEntryPoint>\r
140 </Extern>\r
141 </Externs>\r
abb26634 142 <PcdCoded>\r
143 <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED">\r
144 <C_Name>PcdDxeIplSwitchToLongMode</C_Name>\r
145 <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
146 <DefaultValue>FALSE</DefaultValue>\r
147 <HelpText>If this feature is enabled, then the DXE IPL will load a 64-bit DxeCore.</HelpText>\r
148 </PcdEntry>\r
149 <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED">\r
150 <C_Name>PcdDxeIplSupportEfiDecompress</C_Name>\r
151 <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
152 <DefaultValue>TRUE</DefaultValue>\r
153 <HelpText>If this feature is enabled, then the DXE IPL must support decompressing files compressed with the EFI Compression algorithm</HelpText>\r
154 </PcdEntry>\r
155 <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED">\r
156 <C_Name>PcdDxeIplSupportTianoDecompress</C_Name>\r
157 <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
158 <DefaultValue>TRUE</DefaultValue>\r
159 <HelpText>If this feature is enabled, then the DXE IPL must support decompressing files compressed with the Tiano Compression algorithm</HelpText>\r
160 </PcdEntry>\r
161 <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED">\r
162 <C_Name>PcdDxeIplSupportCustomDecompress</C_Name>\r
163 <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
164 <DefaultValue>TRUE</DefaultValue>\r
165 <HelpText>If this feature is enabled, then the DXE IPL must support decompressing files compressed with the Custom Compression algorithm</HelpText>\r
166 </PcdEntry>\r
167 </PcdCoded>\r
1f86f081 168</ModuleSurfaceArea>