Add the following Pcds declaration in EdkModulePkg.spd file. EdkModulePkg PeiVariable...
[mirror_edk2.git] / EdkModulePkg / Universal / Variable / RuntimeDxe / Variable.msa
CommitLineData
878ddf1f 1<?xml version="1.0" encoding="UTF-8"?>\r
53b86193 2<!--Copyright (c) 2006, Intel Corporation
3All rights reserved. This program and the accompanying materials
4are licensed and made available under the terms and conditions of the BSD License
5which accompanies this distribution. The full text of the license may be found at
6http://opensource.org/licenses/bsd-license.php
7
8THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
1f86f081 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
1f86f081 12 <ModuleName>Variable</ModuleName>\r
878ddf1f 13 <ModuleType>DXE_RUNTIME_DRIVER</ModuleType>\r
1f86f081 14 <GuidValue>CBD2E4D5-7068-4FF5-B462-9822B4AD8D60</GuidValue>\r
15 <Version>1.0</Version>\r
47a16b84
LG
16 <Abstract>Component description file for Variable module.</Abstract>\r
17 <Description>This module installs three EFI_RUNTIME_SERVICES: SetVariable, GetVariable, GetNextVariableName.</Description>\r
15f3b1d4 18 <Copyright>Copyright (c) 2006, Intel Corporation</Copyright>\r
53b86193 19 <License>All rights reserved. This program and the accompanying materials
20 are licensed and made available under the terms and conditions of the BSD License
21 which accompanies this distribution. The full text of the license may be found at
22 http://opensource.org/licenses/bsd-license.php
23 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
1f86f081 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
1f86f081 27 <ModuleDefinitions>\r
28 <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>\r
29 <BinaryModule>false</BinaryModule>\r
30 <OutputFileBasename>Variable</OutputFileBasename>\r
31 </ModuleDefinitions>\r
878ddf1f 32 <LibraryClassDefinitions>\r
202c5d55 33 <LibraryClass Usage="ALWAYS_CONSUMED">\r
34 <Keyword>PcdLib</Keyword>\r
35 </LibraryClass> \r
1f86f081 36 <LibraryClass Usage="ALWAYS_CONSUMED">\r
37 <Keyword>BaseLib</Keyword>\r
38 </LibraryClass>\r
39 <LibraryClass Usage="ALWAYS_CONSUMED">\r
40 <Keyword>UefiLib</Keyword>\r
41 </LibraryClass>\r
42 <LibraryClass Usage="ALWAYS_CONSUMED">\r
43 <Keyword>UefiDriverEntryPoint</Keyword>\r
44 </LibraryClass>\r
45 <LibraryClass Usage="ALWAYS_CONSUMED">\r
46 <Keyword>DxeServicesTableLib</Keyword>\r
47 </LibraryClass>\r
48 <LibraryClass Usage="ALWAYS_CONSUMED">\r
3e48a192 49 <Keyword>UefiRuntimeLib</Keyword>\r
1f86f081 50 </LibraryClass>\r
51 <LibraryClass Usage="ALWAYS_CONSUMED">\r
52 <Keyword>DebugLib</Keyword>\r
53 </LibraryClass>\r
54 <LibraryClass Usage="ALWAYS_CONSUMED">\r
55 <Keyword>HobLib</Keyword>\r
56 </LibraryClass>\r
57 <LibraryClass Usage="ALWAYS_CONSUMED">\r
58 <Keyword>BaseMemoryLib</Keyword>\r
59 </LibraryClass>\r
60 <LibraryClass Usage="ALWAYS_CONSUMED">\r
61 <Keyword>EdkFvbServiceLib</Keyword>\r
62 </LibraryClass>\r
63 <LibraryClass Usage="ALWAYS_CONSUMED">\r
64 <Keyword>EdkDxeSalLib</Keyword>\r
65 </LibraryClass>\r
66 <LibraryClass Usage="ALWAYS_CONSUMED">\r
67 <Keyword>UefiBootServicesTableLib</Keyword>\r
68 </LibraryClass>\r
878ddf1f 69 </LibraryClassDefinitions>\r
70 <SourceFiles>\r
5094fb09 71 <Filename>Variable.h</Filename>\r
878ddf1f 72 <Filename>Variable.c</Filename>\r
5094fb09 73 <Filename>reclaim.h</Filename>\r
aec91719 74 <Filename>reclaim.c</Filename>\r
1f86f081 75 <Filename SupArchList="IA32">InitVariable.c</Filename>\r
76 <Filename SupArchList="IA32">Ia32Variable.dxs</Filename>\r
77 <Filename SupArchList="X64">InitVariable.c</Filename>\r
78 <Filename SupArchList="X64">x64Variable.dxs</Filename>\r
79 <Filename SupArchList="EBC">InitVariable.c</Filename>\r
80 <Filename SupArchList="EBC">x64Variable.dxs</Filename>\r
81 <Filename SupArchList="IPF">Ipf/InitVariable.c</Filename>\r
82 <Filename SupArchList="IPF">IpfVariable.dxs</Filename>\r
878ddf1f 83 </SourceFiles>\r
1f86f081 84 <PackageDependencies>\r
85 <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
86 <Package PackageGuid="B6EC423C-21D2-490D-85C6-DD5864EAA674"/>\r
87 </PackageDependencies>\r
878ddf1f 88 <Protocols>\r
1f86f081 89 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 90 <ProtocolCName>gEfiVariableArchProtocolGuid</ProtocolCName>\r
1f86f081 91 </Protocol>\r
92 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 93 <ProtocolCName>gEfiVariableWriteArchProtocolGuid</ProtocolCName>\r
1f86f081 94 </Protocol>\r
95 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 96 <ProtocolCName>gEfiFaultTolerantWriteLiteProtocolGuid</ProtocolCName>\r
1f86f081 97 </Protocol>\r
98 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 99 <ProtocolCName>gEfiCpuIoProtocolGuid</ProtocolCName>\r
1f86f081 100 </Protocol>\r
101 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 102 <ProtocolCName>gEfiFvbExtensionProtocolGuid</ProtocolCName>\r
1f86f081 103 </Protocol>\r
104 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 105 <ProtocolCName>gEfiFirmwareVolumeBlockProtocolGuid</ProtocolCName>\r
1f86f081 106 </Protocol>\r
107 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 108 <ProtocolCName>gEfiVariableArchProtocolGuid</ProtocolCName>\r
1f86f081 109 </Protocol>\r
110 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 111 <ProtocolCName>gEfiVariableWriteArchProtocolGuid</ProtocolCName>\r
1f86f081 112 </Protocol>\r
113 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 114 <ProtocolCName>gEfiFaultTolerantWriteLiteProtocolGuid</ProtocolCName>\r
1f86f081 115 </Protocol>\r
116 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 117 <ProtocolCName>gEfiCpuIoProtocolGuid</ProtocolCName>\r
1f86f081 118 </Protocol>\r
119 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 120 <ProtocolCName>gEfiFvbExtensionProtocolGuid</ProtocolCName>\r
1f86f081 121 </Protocol>\r
122 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 123 <ProtocolCName>gEfiFirmwareVolumeBlockProtocolGuid</ProtocolCName>\r
1f86f081 124 </Protocol>\r
125 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 126 <ProtocolCName>gEfiExtendedSalBootServiceProtocolGuid</ProtocolCName>\r
1f86f081 127 </Protocol>\r
128 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 129 <ProtocolCName>gEfiExtendedSalVariableServicesProtocolGuid</ProtocolCName>\r
1f86f081 130 </Protocol>\r
878ddf1f 131 </Protocols>\r
132 <Guids>\r
1f86f081 133 <GuidCNames Usage="ALWAYS_CONSUMED">\r
53b86193 134 <GuidCName>gEfiFlashMapHobGuid</GuidCName>\r
1f86f081 135 </GuidCNames>\r
53b86193 136 <!--<GuidCNames Usage="ALWAYS_CONSUMED">
137 <GuidCName>Hob</GuidCName>
b062dd14 138 </GuidCNames>-->\r
53b86193 139 <!--<GuidCNames Usage="ALWAYS_CONSUMED">
140 <GuidCName>SystemNvData</GuidCName>
b062dd14 141 </GuidCNames>-->\r
1f86f081 142 <GuidCNames Usage="ALWAYS_CONSUMED">\r
53b86193 143 <GuidCName>gEfiAlternateFvBlockGuid</GuidCName>\r
1f86f081 144 </GuidCNames>\r
878ddf1f 145 </Guids>\r
146 <Externs>\r
1f86f081 147 <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>\r
15b06e58 148 <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>\r
878ddf1f 149 <Extern>\r
150 <ModuleEntryPoint>VariableServiceInitialize</ModuleEntryPoint>\r
151 </Extern>\r
152 <Extern>\r
153 <SetVirtualAddressMapCallBack>VariableClassAddressChangeEvent</SetVirtualAddressMapCallBack>\r
154 </Extern>\r
155 </Externs>\r
202c5d55 156 <PcdCoded>\r
157 <PcdEntry PcdItemType="DYNAMIC">\r
158 <C_Name>PcdFlashNvStorageVariableBase</C_Name>\r
159 <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
160 <HelpText>\r
161 The driver gets the Variable store base address from this PCD. This base address point to\r
162 an EFI_FIRMWARE_VOLUMN_HEADER struct.\r
163 </HelpText>\r
164 </PcdEntry> \r
165 <PcdEntry PcdItemType="DYNAMIC">\r
166 <C_Name>PcdFlashNvStorageVariableSize</C_Name>\r
167 <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
168 <HelpText>\r
42ef7fcd 169 The driver gets the NvStorage Variable Size from this PCD.\r
202c5d55 170 </HelpText> \r
171 </PcdEntry> \r
172 </PcdCoded> \r
1f86f081 173</ModuleSurfaceArea>