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