| 1 | <?xml version="1.0" encoding="UTF-8"?>\r |
| 2 | <ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">\r |
| 3 | <MsaHeader>\r |
| 4 | <ModuleName>PeiFlashMap</ModuleName>\r |
| 5 | <ModuleType>PEIM</ModuleType>\r |
| 6 | <GuidValue>f417814a-8985-11db-8983-0040d02b1835</GuidValue>\r |
| 7 | <Version>1.0</Version>\r |
| 8 | <Abstract>Component description file for FlashMap PEI module</Abstract>\r |
| 9 | <Description>This module installs FlashMap PPI which is used to get flash layout information.</Description>\r |
| 10 | <Copyright>Copyright (c) 2006, Intel Corporation</Copyright>\r |
| 11 | <License>All rights reserved. This program and the accompanying materials\r |
| 12 | are licensed and made available under the terms and conditions of the BSD License\r |
| 13 | which accompanies this distribution. The full text of the license may be found at\r |
| 14 | http://opensource.org/licenses/bsd-license.php\r |
| 15 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r |
| 16 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>\r |
| 17 | <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>\r |
| 18 | </MsaHeader>\r |
| 19 | <ModuleDefinitions>\r |
| 20 | <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>\r |
| 21 | <BinaryModule>false</BinaryModule>\r |
| 22 | <OutputFileBasename>PeiFlashMap</OutputFileBasename>\r |
| 23 | </ModuleDefinitions>\r |
| 24 | <LibraryClassDefinitions>\r |
| 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>HobLib</Keyword>\r |
| 33 | </LibraryClass>\r |
| 34 | <LibraryClass Usage="ALWAYS_CONSUMED">\r |
| 35 | <Keyword>PeiServicesLib</Keyword>\r |
| 36 | </LibraryClass>\r |
| 37 | <LibraryClass Usage="ALWAYS_CONSUMED">\r |
| 38 | <Keyword>PeiServicesTablePointerLib</Keyword>\r |
| 39 | </LibraryClass>\r |
| 40 | <LibraryClass Usage="ALWAYS_CONSUMED">\r |
| 41 | <Keyword>BaseMemoryLib</Keyword>\r |
| 42 | </LibraryClass>\r |
| 43 | <LibraryClass Usage="ALWAYS_CONSUMED">\r |
| 44 | <Keyword>PcdLib</Keyword>\r |
| 45 | </LibraryClass>\r |
| 46 | </LibraryClassDefinitions>\r |
| 47 | <SourceFiles>\r |
| 48 | <Filename>FlashMap.c</Filename>\r |
| 49 | <Filename>FlashMap.dxs</Filename>\r |
| 50 | </SourceFiles>\r |
| 51 | <PackageDependencies>\r |
| 52 | <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r |
| 53 | <Package PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d"/>\r |
| 54 | <Package PackageGuid="f2805c44-8985-11db-9e98-0040d02b1835"/>\r |
| 55 | </PackageDependencies>\r |
| 56 | <Protocols>\r |
| 57 | <Protocol Usage="ALWAYS_CONSUMED">\r |
| 58 | <ProtocolCName>gEfiFirmwareVolumeBlockProtocolGuid</ProtocolCName>\r |
| 59 | </Protocol>\r |
| 60 | </Protocols>\r |
| 61 | <PPIs>\r |
| 62 | <Ppi Usage="ALWAYS_PRODUCED">\r |
| 63 | <PpiCName>gPeiFlashMapPpiGuid</PpiCName>\r |
| 64 | </Ppi>\r |
| 65 | <Ppi Usage="ALWAYS_CONSUMED">\r |
| 66 | <PpiCName>gUnixFwhPpiGuid</PpiCName>\r |
| 67 | </Ppi>\r |
| 68 | </PPIs>\r |
| 69 | <Guids>\r |
| 70 | <GuidCNames Usage="ALWAYS_CONSUMED">\r |
| 71 | <GuidCName>gEfiFlashMapHobGuid</GuidCName>\r |
| 72 | </GuidCNames>\r |
| 73 | <GuidCNames Usage="ALWAYS_CONSUMED">\r |
| 74 | <GuidCName>gEfiFirmwareFileSystemGuid</GuidCName>\r |
| 75 | </GuidCNames>\r |
| 76 | <GuidCNames Usage="ALWAYS_CONSUMED">\r |
| 77 | <GuidCName>gEfiSystemNvDataHobGuid</GuidCName>\r |
| 78 | </GuidCNames>\r |
| 79 | </Guids>\r |
| 80 | <Externs>\r |
| 81 | <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>\r |
| 82 | <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>\r |
| 83 | <Extern>\r |
| 84 | <ModuleEntryPoint>PeimInitializeFlashMap</ModuleEntryPoint>\r |
| 85 | </Extern>\r |
| 86 | </Externs>\r |
| 87 | <PcdCoded>\r |
| 88 | <PcdEntry PcdItemType="DYNAMIC">\r |
| 89 | <C_Name>PcdFlashNvStorageVariableBase</C_Name>\r |
| 90 | <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r |
| 91 | <HelpText>The driver sets the NV Storage FV base address defined by this PCD. \r |
| 92 | This base address point to an EFI_FIRMWARE_VOLUMN_HEADER struct. Variable PEIM\r |
| 93 | will get the base address from this PCD. In NT emulator, this PCD is a DYNAMIC\r |
| 94 | type, as FD is mapped to process space by WinNT OS. On real platform, it is \r |
| 95 | normally a FIXED_AT_BUILD type as system memory map is fixed to BIOS.\r |
| 96 | </HelpText>\r |
| 97 | </PcdEntry>\r |
| 98 | <PcdEntry PcdItemType="DYNAMIC">\r |
| 99 | <C_Name>PcdFlashNvStorageVariableSize</C_Name>\r |
| 100 | <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r |
| 101 | <HelpText>\r |
| 102 | To get the NvStorage Variable size from this PCD.\r |
| 103 | </HelpText>\r |
| 104 | </PcdEntry>\r |
| 105 | <PcdEntry PcdItemType="DYNAMIC" Usage="ALWAYS_CONSUMED">\r |
| 106 | <C_Name>PcdFlashNvStorageFtwSpareBase</C_Name>\r |
| 107 | <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r |
| 108 | <HelpText>To get base address of the FTW spare block section in NV firmware volume.</HelpText>\r |
| 109 | </PcdEntry>\r |
| 110 | <PcdEntry PcdItemType="DYNAMIC" Usage="ALWAYS_CONSUMED">\r |
| 111 | <C_Name>PcdFlashNvStorageFtwSpareSize</C_Name>\r |
| 112 | <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r |
| 113 | <HelpText>To get size of the FTW spare block section in NV firmware volume.</HelpText>\r |
| 114 | </PcdEntry>\r |
| 115 | <PcdEntry PcdItemType="DYNAMIC" Usage="ALWAYS_CONSUMED">\r |
| 116 | <C_Name>PcdFlashNvStorageFtwWorkingBase</C_Name>\r |
| 117 | <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r |
| 118 | <HelpText>To get base address of the FTW working block section in NV firmware volume.</HelpText>\r |
| 119 | </PcdEntry>\r |
| 120 | <PcdEntry PcdItemType="DYNAMIC" Usage="ALWAYS_CONSUMED">\r |
| 121 | <C_Name>PcdFlashNvStorageFtwWorkingSize</C_Name>\r |
| 122 | <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r |
| 123 | <HelpText>To get size of the FTW working block section in NV firmware volume.</HelpText>\r |
| 124 | </PcdEntry>\r |
| 125 | </PcdCoded>\r |
| 126 | </ModuleSurfaceArea>\r |