<?xml version="1.0" encoding="UTF-8"?>\r
-<!--Copyright (c) 2006, Intel Corporation\r
-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
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->\r
-<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">\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
<GuidValue>86D70125-BAA3-4296-A62F-602BEBBB9081</GuidValue>\r
<Version>1.0</Version>\r
<Abstract>Component description file for DxeIpl module</Abstract>\r
- <Description>FIX ME!</Description>\r
- <Copyright>Copyright (c) 2004-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
+ <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 - 2007, Intel Corporation</Copyright>\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
<LibraryClass Usage="ALWAYS_CONSUMED">\r
<Keyword>HobLib</Keyword>\r
</LibraryClass>\r
- <LibraryClass Usage="ALWAYS_CONSUMED">\r
- <Keyword>PerformanceLib</Keyword>\r
- </LibraryClass>\r
<LibraryClass Usage="ALWAYS_CONSUMED">\r
<Keyword>PeiServicesLib</Keyword>\r
</LibraryClass>\r
<LibraryClass Usage="ALWAYS_CONSUMED">\r
<Keyword>MemoryAllocationLib</Keyword>\r
</LibraryClass>\r
+ <LibraryClass Usage="ALWAYS_CONSUMED">\r
+ <Keyword>PcdLib</Keyword>\r
+ </LibraryClass>\r
+ <LibraryClass Usage="ALWAYS_CONSUMED">\r
+ <Keyword>PeCoffLib</Keyword>\r
+ </LibraryClass>\r
</LibraryClassDefinitions>\r
<SourceFiles>\r
<Filename>DxeLoad.c</Filename>\r
+ <Filename>DxeIpl.h</Filename>\r
<Filename>DxeIpl.dxs</Filename>\r
- <Filename SupArchList="IA32">Ia32/ImageRead.c</Filename>\r
+ <Filename SupArchList="IA32 X64 EBC">Ia32/ImageRead.c</Filename>\r
<Filename SupArchList="IA32">Ia32/DxeLoadFunc.c</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="IA32">Ia32/VirtualMemory.c</Filename>\r
+ <Filename SupArchList="IA32">Ia32/VirtualMemory.h</Filename>\r
+ <Filename SupArchList="X64 EBC">X64/DxeLoadFunc.c</Filename>\r
+ <Filename SupArchList="IPF">Ipf/ImageRead.c</Filename>\r
+ <Filename SupArchList="IPF">Ipf/DxeLoadFunc.c</Filename>\r
</SourceFiles>\r
<PackageDependencies>\r
<Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
- <Package PackageGuid="B6EC423C-21D2-490D-85C6-DD5864EAA674"/>\r
+ <Package PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d"/>\r
</PackageDependencies>\r
<Protocols>\r
<Protocol Usage="SOMETIMES_PRODUCED">\r
- <ProtocolCName>Decompress</ProtocolCName>\r
+ <ProtocolCName>gEfiDecompressProtocolGuid</ProtocolCName>\r
</Protocol>\r
<Protocol Usage="SOMETIMES_PRODUCED">\r
- <ProtocolCName>TianoDecompress</ProtocolCName>\r
+ <ProtocolCName>gEfiTianoDecompressProtocolGuid</ProtocolCName>\r
</Protocol>\r
<Protocol Usage="SOMETIMES_PRODUCED">\r
- <ProtocolCName>CustomizedDecompress</ProtocolCName>\r
+ <ProtocolCName>gEfiCustomizedDecompressProtocolGuid</ProtocolCName>\r
</Protocol>\r
</Protocols>\r
<PPIs>\r
<Ppi Usage="SOMETIMES_PRODUCED">\r
- <PpiCName>DxeIpl</PpiCName>\r
+ <PpiCName>gEfiDxeIplPpiGuid</PpiCName>\r
</Ppi>\r
<Ppi Usage="SOMETIMES_PRODUCED">\r
- <PpiCName>FvFileLoader</PpiCName>\r
+ <PpiCName>gEfiPeiFvFileLoaderPpiGuid</PpiCName>\r
</Ppi>\r
<Ppi Usage="SOMETIMES_PRODUCED">\r
- <PpiCName>EndOfPeiSignal</PpiCName>\r
+ <PpiCName>gEfiEndOfPeiSignalPpiGuid</PpiCName>\r
</Ppi>\r
<Ppi Usage="SOMETIMES_CONSUMED">\r
- <PpiCName>RecoveryModule</PpiCName>\r
+ <PpiCName>gEfiPeiRecoveryModulePpiGuid</PpiCName>\r
</Ppi>\r
<Ppi Usage="SOMETIMES_CONSUMED">\r
- <PpiCName>S3Resume</PpiCName>\r
+ <PpiCName>gEfiPeiS3ResumePpiGuid</PpiCName>\r
</Ppi>\r
<Ppi Usage="SOMETIMES_CONSUMED">\r
- <PpiCName>SectionExtraction</PpiCName>\r
+ <PpiCName>gEfiPeiSectionExtractionPpiGuid</PpiCName>\r
</Ppi>\r
<Ppi Usage="SOMETIMES_CONSUMED">\r
- <PpiCName>Security</PpiCName>\r
- </Ppi>\r
- <Ppi Usage="PRIVATE">\r
- <PpiCName>PeiInMemory</PpiCName>\r
+ <PpiCName>gEfiPeiSecurityPpiGuid</PpiCName>\r
</Ppi>\r
</PPIs>\r
<Guids>\r
<GuidCNames Usage="SOMETIMES_CONSUMED">\r
- <GuidCName>PeiPeCoffLoader</GuidCName>\r
+ <GuidCName>gEfiPeiPeCoffLoaderGuid</GuidCName>\r
</GuidCNames>\r
</Guids>\r
<Externs>\r
<ModuleEntryPoint>PeimInitializeDxeIpl</ModuleEntryPoint>\r
</Extern>\r
</Externs>\r
+ <PcdCoded>\r
+ <PcdEntry PcdItemType="FEATURE_FLAG" Usage="ALWAYS_CONSUMED" SupArchList="IA32">\r
+ <C_Name>PcdDxeIplSwitchToLongMode</C_Name>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DefaultValue>TRUE</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>PcdDxeIplBuildShareCodeHobs</C_Name>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DefaultValue>FALSE</DefaultValue>\r
+ <HelpText>If this feature is enabled, DXE IPL will build a series of HOBs to share code with DXE Core.</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