]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Universal/Variable/RuntimeDxe/Variable.msa
Fix the issue that the variable Unicode string may be not aligned on 16-bit boundary...
[mirror_edk2.git] / EdkModulePkg / Universal / Variable / RuntimeDxe / Variable.msa
index 7ac660a0b01b2205581618abac35ae50616f950a..d1e6f3bb931968bdb302f65c0aff210a44d204bf 100644 (file)
@@ -1,40 +1,29 @@
 <?xml version="1.0" encoding="UTF-8"?>\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
-<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>Variable</ModuleName>\r
     <ModuleType>DXE_RUNTIME_DRIVER</ModuleType>\r
     <GuidValue>CBD2E4D5-7068-4FF5-B462-9822B4AD8D60</GuidValue>\r
     <Version>1.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>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
+    <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 - 2007, 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
+    <SupportedArchitectures>IA32 X64</SupportedArchitectures>\r
     <BinaryModule>false</BinaryModule>\r
     <OutputFileBasename>Variable</OutputFileBasename>\r
   </ModuleDefinitions>\r
   <LibraryClassDefinitions>\r
     <LibraryClass Usage="ALWAYS_CONSUMED">\r
-      <Keyword>BaseLib</Keyword>\r
-    </LibraryClass>\r
-    <LibraryClass Usage="ALWAYS_CONSUMED">\r
-      <Keyword>UefiLib</Keyword>\r
+      <Keyword>PcdLib</Keyword>\r
     </LibraryClass>\r
     <LibraryClass Usage="ALWAYS_CONSUMED">\r
       <Keyword>UefiDriverEntryPoint</Keyword>\r
@@ -43,14 +32,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->
       <Keyword>DxeServicesTableLib</Keyword>\r
     </LibraryClass>\r
     <LibraryClass Usage="ALWAYS_CONSUMED">\r
-      <Keyword>DxeRuntimeDriverLib</Keyword>\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
@@ -58,86 +44,41 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->
       <Keyword>EdkFvbServiceLib</Keyword>\r
     </LibraryClass>\r
     <LibraryClass Usage="ALWAYS_CONSUMED">\r
-      <Keyword>EdkDxeSalLib</Keyword>\r
+      <Keyword>UefiBootServicesTableLib</Keyword>\r
     </LibraryClass>\r
     <LibraryClass Usage="ALWAYS_CONSUMED">\r
-      <Keyword>UefiBootServicesTableLib</Keyword>\r
+      <Keyword>UefiLib</Keyword>\r
+    </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>BaseLib</Keyword>\r
     </LibraryClass>\r
   </LibraryClassDefinitions>\r
   <SourceFiles>\r
+    <Filename>Variable.h</Filename>\r
     <Filename>Variable.c</Filename>\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
+    <Filename>InitVariable.c</Filename>\r
+    <Filename>Variable.dxs</Filename>\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
   </PackageDependencies>\r
   <Protocols>\r
     <Protocol Usage="ALWAYS_CONSUMED">\r
-      <ProtocolCName>Variable</ProtocolCName>\r
-    </Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">\r
-      <ProtocolCName>VariableWrite</ProtocolCName>\r
-    </Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">\r
-      <ProtocolCName>FaultTolerantWriteLite</ProtocolCName>\r
-    </Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">\r
-      <ProtocolCName>CpuIo</ProtocolCName>\r
-    </Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">\r
-      <ProtocolCName>FvbExtension</ProtocolCName>\r
-    </Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">\r
-      <ProtocolCName>FirmwareVolumeBlock</ProtocolCName>\r
-    </Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">\r
-      <ProtocolCName>Variable</ProtocolCName>\r
-    </Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">\r
-      <ProtocolCName>VariableWrite</ProtocolCName>\r
-    </Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">\r
-      <ProtocolCName>FaultTolerantWriteLite</ProtocolCName>\r
-    </Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">\r
-      <ProtocolCName>CpuIo</ProtocolCName>\r
-    </Protocol>\r
-    <Protocol Usage="ALWAYS_CONSUMED">\r
-      <ProtocolCName>FvbExtension</ProtocolCName>\r
+      <ProtocolCName>gEfiVariableArchProtocolGuid</ProtocolCName>\r
     </Protocol>\r
     <Protocol Usage="ALWAYS_CONSUMED">\r
-      <ProtocolCName>FirmwareVolumeBlock</ProtocolCName>\r
+      <ProtocolCName>gEfiVariableWriteArchProtocolGuid</ProtocolCName>\r
     </Protocol>\r
     <Protocol Usage="ALWAYS_CONSUMED">\r
-      <ProtocolCName>ExtendedSalBootService</ProtocolCName>\r
+      <ProtocolCName>gEfiFaultTolerantWriteLiteProtocolGuid</ProtocolCName>\r
     </Protocol>\r
     <Protocol Usage="ALWAYS_CONSUMED">\r
-      <ProtocolCName>ExtendedSalVariableServices</ProtocolCName>\r
+      <ProtocolCName>gEfiFirmwareVolumeBlockProtocolGuid</ProtocolCName>\r
     </Protocol>\r
   </Protocols>\r
-  <Guids>\r
-    <GuidCNames Usage="ALWAYS_CONSUMED">\r
-      <GuidCName>FlashMapHob</GuidCName>\r
-    </GuidCNames>\r
-    <!--<GuidCNames Usage="ALWAYS_CONSUMED">\r
-      <GuidCName>Hob</GuidCName>\r
-    </GuidCNames>-->\r
-    <!--<GuidCNames Usage="ALWAYS_CONSUMED">\r
-      <GuidCName>SystemNvData</GuidCName>\r
-    </GuidCNames>-->\r
-    <GuidCNames Usage="ALWAYS_CONSUMED">\r
-      <GuidCName>AlternateFvBlock</GuidCName>\r
-    </GuidCNames>\r
-  </Guids>\r
   <Externs>\r
     <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>\r
     <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>\r
@@ -148,4 +89,17 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->
       <SetVirtualAddressMapCallBack>VariableClassAddressChangeEvent</SetVirtualAddressMapCallBack>\r
     </Extern>\r
   </Externs>\r
+  <PcdCoded>\r
+    <PcdEntry PcdItemType="DYNAMIC">\r
+      <C_Name>PcdFlashNvStorageVariableBase</C_Name>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <HelpText>The driver gets the Variable store base address from this PCD.  This base address point to
+        an EFI_FIRMWARE_VOLUMN_HEADER struct.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry PcdItemType="DYNAMIC">\r
+      <C_Name>PcdFlashNvStorageVariableSize</C_Name>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <HelpText>The driver gets the NvStorage Variable Size from this PCD.</HelpText>\r
+    </PcdEntry>\r
+  </PcdCoded>\r
 </ModuleSurfaceArea>
\ No newline at end of file