<?xml version="1.0" encoding="UTF-8"?>\r
-<!--Copyright (c) 2006, Intel Corporation
-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.-->\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>PeiFlashMap</ModuleName>\r
<ModuleType>PEIM</ModuleType>\r
<GuidValue>681F3771-6F1D-42DE-9AA2-F82BBCDBC5F9</GuidValue>\r
<Version>1.0</Version>\r
<Abstract>Component description file for FlashMap PEI 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
- 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,
+ <Description>This module installs FlashMap PPI which is used to get flash layout information.</Description>\r
+ <Copyright>Copyright (c) 2006 - 2007, 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
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>\r
<Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>\r
</MsaHeader>\r
<Keyword>PeiServicesLib</Keyword>\r
</LibraryClass>\r
<LibraryClass Usage="ALWAYS_CONSUMED">\r
- <Keyword>PeiServicesTablePointerLib</Keyword>\r
+ <Keyword>BaseMemoryLib</Keyword>\r
</LibraryClass>\r
<LibraryClass Usage="ALWAYS_CONSUMED">\r
- <Keyword>BaseMemoryLib</Keyword>\r
+ <Keyword>PcdLib</Keyword>\r
</LibraryClass>\r
</LibraryClassDefinitions>\r
<SourceFiles>\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
<Package PackageGuid="0fb2aa2d-10d5-40a5-a9dc-060c12a4a3f3"/>\r
</PackageDependencies>\r
<Protocols>\r
<ProtocolCName>gEfiFirmwareVolumeBlockProtocolGuid</ProtocolCName>\r
</Protocol>\r
</Protocols>\r
+ <Hobs>\r
+ <HobTypes HobGuidCName="gEfiFlashMapHobGuid" Usage="ALWAYS_CONSUMED">\r
+ <HobType>GUID_EXTENSION</HobType>\r
+ </HobTypes>\r
+ </Hobs>\r
<PPIs>\r
<Ppi Usage="ALWAYS_PRODUCED">\r
<PpiCName>gPeiFlashMapPpiGuid</PpiCName>\r
</Ppi>\r
</PPIs>\r
<Guids>\r
- <GuidCNames Usage="ALWAYS_CONSUMED">\r
- <GuidCName>gEfiFlashMapHobGuid</GuidCName>\r
- </GuidCNames>\r
<GuidCNames Usage="ALWAYS_CONSUMED">\r
<GuidCName>gEfiFirmwareFileSystemGuid</GuidCName>\r
</GuidCNames>\r
- <GuidCNames Usage="ALWAYS_CONSUMED">\r
- <GuidCName>gEfiSystemNvDataHobGuid</GuidCName>\r
- </GuidCNames>\r
</Guids>\r
<Externs>\r
<Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>\r
<ModuleEntryPoint>PeimInitializeFlashMap</ModuleEntryPoint>\r
</Extern>\r
</Externs>\r
-</ModuleSurfaceArea>
\ No newline at end of file
+ <PcdCoded>\r
+ <PcdEntry PcdItemType="DYNAMIC">\r
+ <C_Name>PcdFlashNvStorageVariableBase</C_Name>\r
+ <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <HelpText>The driver sets the NV Storage FV base address defined by this PCD.\r
+ This base address point to an EFI_FIRMWARE_VOLUMN_HEADER struct. Variable PEIM\r
+ will get the base address from this PCD. In NT emulator, this PCD is a DYNAMIC\r
+ type, as FD is mapped to process space by WinNT OS. On real platform, it is\r
+ normally a FIXED_AT_BUILD type as system memory map is fixed to BIOS.</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry PcdItemType="DYNAMIC">\r
+ <C_Name>PcdFlashNvStorageVariableSize</C_Name>\r
+ <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <HelpText>To get the NvStorage Variable size from this PCD.</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry PcdItemType="DYNAMIC" Usage="ALWAYS_CONSUMED">\r
+ <C_Name>PcdFlashNvStorageFtwSpareBase</C_Name>\r
+ <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <HelpText>To get base address of the FTW spare block section in NV firmware volume.</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry PcdItemType="DYNAMIC" Usage="ALWAYS_CONSUMED">\r
+ <C_Name>PcdFlashNvStorageFtwSpareSize</C_Name>\r
+ <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <HelpText>To get size of the FTW spare block section in NV firmware volume.</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry PcdItemType="DYNAMIC" Usage="ALWAYS_CONSUMED">\r
+ <C_Name>PcdFlashNvStorageFtwWorkingBase</C_Name>\r
+ <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <HelpText>To get base address of the FTW working block section in NV firmware volume.</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry PcdItemType="DYNAMIC" Usage="ALWAYS_CONSUMED">\r
+ <C_Name>PcdFlashNvStorageFtwWorkingSize</C_Name>\r
+ <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <HelpText>To get size of the FTW working block section in NV firmware volume.</HelpText>\r
+ </PcdEntry>\r
+ </PcdCoded>\r
+</ModuleSurfaceArea>\r