]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Universal/Variable/RuntimeDxe/Variable.msa
Add the following Pcds declaration in EdkModulePkg.spd file. EdkModulePkg PeiVariable...
[mirror_edk2.git] / EdkModulePkg / Universal / Variable / RuntimeDxe / Variable.msa
index a750f2e03356a1ec9feaf2c248d579f9bf2cf3b2..99c34e400f921412b259d1e23d55f0ba10b6e4a2 100644 (file)
 <?xml version="1.0" encoding="UTF-8"?>\r
-<!--\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
--->\r
-<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0  http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">\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
   <MsaHeader>\r
-    <BaseName>Variable</BaseName>\r
+    <ModuleName>Variable</ModuleName>\r
     <ModuleType>DXE_RUNTIME_DRIVER</ModuleType>\r
-    <ComponentType>RT_DRIVER</ComponentType>\r
-    <Guid>CBD2E4D5-7068-4FF5-B462-9822B4AD8D60</Guid>\r
-    <Version>0</Version>\r
-    <Abstract>Component description file for DiskIo module.</Abstract>\r
-    <Description>FIX ME!</Description>\r
-    <Copyright>Copyright (c) 2004-2006, Intel Corporation</Copyright>\r
-    <License>\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
-      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
-    </License>\r
-    <Specification>0</Specification>\r
-    <Created>2006-03-12 17:09</Created>\r
-    <Updated>2006-03-19 15:19</Updated>\r
+    <GuidValue>CBD2E4D5-7068-4FF5-B462-9822B4AD8D60</GuidValue>\r
+    <Version>1.0</Version>\r
+    <Abstract>Component description file for Variable module.</Abstract>\r
+    <Description>This module installs three EFI_RUNTIME_SERVICES: SetVariable, GetVariable, GetNextVariableName.</Description>\r
+    <Copyright>Copyright (c) 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,
+      WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>\r
+    <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>\r
   </MsaHeader>\r
+  <ModuleDefinitions>\r
+    <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>\r
+    <BinaryModule>false</BinaryModule>\r
+    <OutputFileBasename>Variable</OutputFileBasename>\r
+  </ModuleDefinitions>\r
   <LibraryClassDefinitions>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">BaseLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">UefiLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">UefiDriverEntryPoint</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">DxeServicesTableLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">DxeRuntimeDriverLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">DebugLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">HobLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">BaseMemoryLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">EdkFvbServiceLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">EdkDxeSalLib</LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">UefiBootServicesTableLib</LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>PcdLib</Keyword>\r
+    </LibraryClass>  \r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>BaseLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>UefiLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>UefiDriverEntryPoint</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>DxeServicesTableLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>UefiRuntimeLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>DebugLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>HobLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>BaseMemoryLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>EdkFvbServiceLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>EdkDxeSalLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>UefiBootServicesTableLib</Keyword>\r
+    </LibraryClass>\r
   </LibraryClassDefinitions>\r
   <SourceFiles>\r
+    <Filename>Variable.h</Filename>\r
     <Filename>Variable.c</Filename>\r
-    <Filename>Reclaim.c</Filename>\r
-    <Arch ArchType="IA32">\r
-      <Filename>InitVariable.c</Filename>\r
-      <Filename>Ia32Variable.dxs</Filename>\r
-    </Arch>\r
-    <Arch ArchType="X64">\r
-      <Filename>InitVariable.c</Filename>\r
-      <Filename>x64Variable.dxs</Filename>\r
-    </Arch>\r
-    <Arch ArchType="EBC">\r
-      <Filename>InitVariable.c</Filename>\r
-      <Filename>x64Variable.dxs</Filename>\r
-    </Arch>\r
-    <Arch ArchType="IPF">\r
-      <Filename>Ipf/InitVariable.c</Filename>\r
-      <Filename>IpfVariable.dxs</Filename>\r
-    </Arch>\r
+    <Filename>reclaim.h</Filename>\r
+    <Filename>reclaim.c</Filename>\r
+    <Filename SupArchList="IA32">InitVariable.c</Filename>\r
+    <Filename SupArchList="IA32">Ia32Variable.dxs</Filename>\r
+    <Filename SupArchList="X64">InitVariable.c</Filename>\r
+    <Filename SupArchList="X64">x64Variable.dxs</Filename>\r
+    <Filename SupArchList="EBC">InitVariable.c</Filename>\r
+    <Filename SupArchList="EBC">x64Variable.dxs</Filename>\r
+    <Filename SupArchList="IPF">Ipf/InitVariable.c</Filename>\r
+    <Filename SupArchList="IPF">IpfVariable.dxs</Filename>\r
   </SourceFiles>\r
-  <Includes>\r
-    <PackageName>MdePkg</PackageName>\r
-    <PackageName>EdkModulePkg</PackageName>\r
-  </Includes>\r
+  <PackageDependencies>\r
+    <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
+    <Package PackageGuid="B6EC423C-21D2-490D-85C6-DD5864EAA674"/>\r
+  </PackageDependencies>\r
   <Protocols>\r
-    <Protocol Usage="ALWAYS_CONSUMED">Variable</Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">VariableWrite</Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">FaultTolerantWriteLite</Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">CpuIo</Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">FvbExtension</Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">FirmwareVolumeBlock</Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">Variable</Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">VariableWrite</Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">FaultTolerantWriteLite</Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">CpuIo</Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">FvbExtension</Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">FirmwareVolumeBlock</Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">ExtendedSalBootService</Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">ExtendedSalVariableServices</Protocol>\r
+    <Protocol Usage="ALWAYS_CONSUMED">\r
+      <ProtocolCName>gEfiVariableArchProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="ALWAYS_CONSUMED">\r
+      <ProtocolCName>gEfiVariableWriteArchProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="ALWAYS_CONSUMED">\r
+      <ProtocolCName>gEfiFaultTolerantWriteLiteProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="ALWAYS_CONSUMED">\r
+      <ProtocolCName>gEfiCpuIoProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="ALWAYS_CONSUMED">\r
+      <ProtocolCName>gEfiFvbExtensionProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="ALWAYS_CONSUMED">\r
+      <ProtocolCName>gEfiFirmwareVolumeBlockProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="ALWAYS_CONSUMED">\r
+      <ProtocolCName>gEfiVariableArchProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="ALWAYS_CONSUMED">\r
+      <ProtocolCName>gEfiVariableWriteArchProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="ALWAYS_CONSUMED">\r
+      <ProtocolCName>gEfiFaultTolerantWriteLiteProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="ALWAYS_CONSUMED">\r
+      <ProtocolCName>gEfiCpuIoProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="ALWAYS_CONSUMED">\r
+      <ProtocolCName>gEfiFvbExtensionProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="ALWAYS_CONSUMED">\r
+      <ProtocolCName>gEfiFirmwareVolumeBlockProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="ALWAYS_CONSUMED">\r
+      <ProtocolCName>gEfiExtendedSalBootServiceProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
+    <Protocol Usage="ALWAYS_CONSUMED">\r
+      <ProtocolCName>gEfiExtendedSalVariableServicesProtocolGuid</ProtocolCName>\r
+    </Protocol>\r
   </Protocols>\r
   <Guids>\r
-    <GuidEntry Usage="ALWAYS_CONSUMED">\r
-      <C_Name>FlashMapHob</C_Name>\r
-    </GuidEntry>\r
-    <GuidEntry Usage="ALWAYS_CONSUMED">\r
-      <C_Name>Hob</C_Name>\r
-    </GuidEntry>\r
-    <GuidEntry Usage="ALWAYS_CONSUMED">\r
-      <C_Name>SystemNvData</C_Name>\r
-    </GuidEntry>\r
-    <GuidEntry Usage="ALWAYS_CONSUMED">\r
-      <C_Name>AlternateFvBlock</C_Name>\r
-    </GuidEntry>\r
+    <GuidCNames Usage="ALWAYS_CONSUMED">\r
+      <GuidCName>gEfiFlashMapHobGuid</GuidCName>\r
+    </GuidCNames>\r
+    <!--<GuidCNames Usage="ALWAYS_CONSUMED">
+      <GuidCName>Hob</GuidCName>
+    </GuidCNames>-->\r
+    <!--<GuidCNames Usage="ALWAYS_CONSUMED">
+      <GuidCName>SystemNvData</GuidCName>
+    </GuidCNames>-->\r
+    <GuidCNames Usage="ALWAYS_CONSUMED">\r
+      <GuidCName>gEfiAlternateFvBlockGuid</GuidCName>\r
+    </GuidCNames>\r
   </Guids>\r
   <Externs>\r
+    <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>\r
+    <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>\r
     <Extern>\r
       <ModuleEntryPoint>VariableServiceInitialize</ModuleEntryPoint>\r
     </Extern>\r
@@ -106,4 +153,21 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       <SetVirtualAddressMapCallBack>VariableClassAddressChangeEvent</SetVirtualAddressMapCallBack>\r
     </Extern>\r
   </Externs>\r
-</ModuleSurfaceArea>\r
+  <PcdCoded>\r
+    <PcdEntry PcdItemType="DYNAMIC">\r
+      <C_Name>PcdFlashNvStorageVariableBase</C_Name>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <HelpText>\r
+        The driver gets the Variable store base address from this PCD.  This base address point to\r
+        an EFI_FIRMWARE_VOLUMN_HEADER struct.\r
+      </HelpText>\r
+    </PcdEntry>      \r
+    <PcdEntry PcdItemType="DYNAMIC">\r
+      <C_Name>PcdFlashNvStorageVariableSize</C_Name>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <HelpText>\r
+        The driver gets the NvStorage Variable Size from this PCD.\r
+      </HelpText>      \r
+    </PcdEntry>     \r
+  </PcdCoded>  \r
+</ModuleSurfaceArea>
\ No newline at end of file