]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Core/DxeIplPeim/DxeIpl.msa
Introduce PcdDxeIplSwitchToLongMode to DxeIplPeim and remove DxeIplX64Peim.
[mirror_edk2.git] / EdkModulePkg / Core / DxeIplPeim / DxeIpl.msa
index c3042e1186a14f4c7deb4388031bf6d96e173504..31b7b358ee000a0d96462f896cfdc0a61812b5e4 100644 (file)
@@ -1,5 +1,5 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">\r
+<?xml version="1.0" encoding="UTF-8"?>\r
+<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
   <MsaHeader>\r
     <ModuleName>DxeIpl</ModuleName>\r
     <ModuleType>PEIM</ModuleType>\r
@@ -8,11 +8,11 @@
     <Abstract>Component description file for DxeIpl module</Abstract>\r
     <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
     <Copyright>Copyright (c) 2006, Intel Corporation</Copyright>\r
-    <License>All rights reserved. This program and the accompanying materials\r
-      are licensed and made available under the terms and conditions of the BSD License\r
-      which accompanies this distribution.  The full text of the license may be found at\r
-      http://opensource.org/licenses/bsd-license.php\r
-      THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+    <License>All rights reserved. This program and the accompanying materials
+      are licensed and made available under the terms and conditions of the BSD License
+      which accompanies this distribution.  The full text of the license may be found at
+      http://opensource.org/licenses/bsd-license.php
+      THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
       WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>\r
     <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>\r
   </MsaHeader>\r
@@ -67,6 +67,9 @@
     <LibraryClass Usage="ALWAYS_CONSUMED">\r
       <Keyword>MemoryAllocationLib</Keyword>\r
     </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>PcdLib</Keyword>\r
+    </LibraryClass>\r
   </LibraryClassDefinitions>\r
   <SourceFiles>\r
     <Filename>DxeLoad.c</Filename>\r
     <Filename>DxeIpl.dxs</Filename>\r
     <Filename SupArchList="IA32">Ia32/ImageRead.c</Filename>\r
     <Filename SupArchList="IA32">Ia32/DxeLoadFunc.c</Filename>\r
+    <Filename SupArchList="IA32">Ia32/LongMode.asm</Filename>\r
+    <Filename ToolChainFamily="GCC" SupArchList="IA32">Ia32/LongMode.S</Filename>\r
+    <Filename SupArchList="IA32">Ia32/VirtualMemory.c</Filename>\r
+    <Filename SupArchList="IA32">Ia32/VirtualMemory.h</Filename>\r
     <Filename SupArchList="X64">Ia32/ImageRead.c</Filename>\r
     <Filename SupArchList="X64">Ia32/DxeLoadFunc.c</Filename>\r
     <Filename SupArchList="IPF">ipf/ImageRead.c</Filename>\r
     <Filename SupArchList="IPF">ipf/DxeLoadFunc.c</Filename>\r
     <Filename SupArchList="EBC">Ia32/ImageRead.c</Filename>\r
     <Filename SupArchList="EBC">Ia32/DxeLoadFunc.c</Filename>\r
+    <Filename SupArchList="X64 IPF EBC">Non-existing.c</Filename>\r
   </SourceFiles>\r
   <PackageDependencies>\r
     <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
     <Ppi Usage="SOMETIMES_CONSUMED">\r
       <PpiCName>gEfiPeiSecurityPpiGuid</PpiCName>\r
     </Ppi>\r
-    <Ppi Usage="PRIVATE">\r
-      <PpiCName>gPeiInMemoryGuid</PpiCName>\r
-    </Ppi>\r
   </PPIs>\r
   <Guids>\r
     <GuidCNames Usage="SOMETIMES_CONSUMED">\r
       <ModuleEntryPoint>PeimInitializeDxeIpl</ModuleEntryPoint>\r
     </Extern>\r
   </Externs>\r
+  <PcdCoded>\r
+    <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED">\r
+      <C_Name>PcdDxeIplSwitchToLongMode</C_Name>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>If this feature is enabled, then the DXE IPL will load a 64-bit DxeCore.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED">\r
+      <C_Name>PcdDxeIplSupportEfiDecompress</C_Name>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DefaultValue>TRUE</DefaultValue>\r
+      <HelpText>If this feature is enabled, then the DXE IPL must support decompressing files compressed with the EFI Compression algorithm</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED">\r
+      <C_Name>PcdDxeIplSupportTianoDecompress</C_Name>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DefaultValue>TRUE</DefaultValue>\r
+      <HelpText>If this feature is enabled, then the DXE IPL must support decompressing files compressed with the Tiano Compression algorithm</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED">\r
+      <C_Name>PcdDxeIplSupportCustomDecompress</C_Name>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DefaultValue>TRUE</DefaultValue>\r
+      <HelpText>If this feature is enabled, then the DXE IPL must support decompressing files compressed with the Custom Compression algorithm</HelpText>\r
+    </PcdEntry>\r
+  </PcdCoded>\r
 </ModuleSurfaceArea>
\ No newline at end of file