]> git.proxmox.com Git - mirror_edk2.git/blame - EdkModulePkg/Universal/Variable/RuntimeDxe/Variable.msa
Add a lock to protect the critical region in Service APIs for UEFI Runtime Variable...
[mirror_edk2.git] / EdkModulePkg / Universal / Variable / RuntimeDxe / Variable.msa
CommitLineData
878ddf1f 1<?xml version="1.0" encoding="UTF-8"?>\r
a298afce 2<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
878ddf1f 3 <MsaHeader>\r
1f86f081 4 <ModuleName>Variable</ModuleName>\r
878ddf1f 5 <ModuleType>DXE_RUNTIME_DRIVER</ModuleType>\r
1f86f081 6 <GuidValue>CBD2E4D5-7068-4FF5-B462-9822B4AD8D60</GuidValue>\r
7 <Version>1.0</Version>\r
47a16b84
LG
8 <Abstract>Component description file for Variable module.</Abstract>\r
9 <Description>This module installs three EFI_RUNTIME_SERVICES: SetVariable, GetVariable, GetNextVariableName.</Description>\r
a298afce 10 <Copyright>Copyright (c) 2006 - 2007, Intel Corporation</Copyright>\r
6ed71dcc 11 <License>All rights reserved. This program and the accompanying materials
12 are licensed and made available under the terms and conditions of the BSD License
13 which accompanies this distribution. The full text of the license may be found at
14 http://opensource.org/licenses/bsd-license.php
15 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
1f86f081 16 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>\r
17 <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>\r
878ddf1f 18 </MsaHeader>\r
1f86f081 19 <ModuleDefinitions>\r
22613d6e 20 <SupportedArchitectures>IA32 X64</SupportedArchitectures>\r
1f86f081 21 <BinaryModule>false</BinaryModule>\r
22 <OutputFileBasename>Variable</OutputFileBasename>\r
23 </ModuleDefinitions>\r
878ddf1f 24 <LibraryClassDefinitions>\r
202c5d55 25 <LibraryClass Usage="ALWAYS_CONSUMED">\r
26 <Keyword>PcdLib</Keyword>\r
1f86f081 27 </LibraryClass>\r
28 <LibraryClass Usage="ALWAYS_CONSUMED">\r
29 <Keyword>UefiDriverEntryPoint</Keyword>\r
30 </LibraryClass>\r
31 <LibraryClass Usage="ALWAYS_CONSUMED">\r
32 <Keyword>DxeServicesTableLib</Keyword>\r
33 </LibraryClass>\r
34 <LibraryClass Usage="ALWAYS_CONSUMED">\r
3e48a192 35 <Keyword>UefiRuntimeLib</Keyword>\r
1f86f081 36 </LibraryClass>\r
37 <LibraryClass Usage="ALWAYS_CONSUMED">\r
38 <Keyword>DebugLib</Keyword>\r
39 </LibraryClass>\r
1f86f081 40 <LibraryClass Usage="ALWAYS_CONSUMED">\r
41 <Keyword>BaseMemoryLib</Keyword>\r
42 </LibraryClass>\r
43 <LibraryClass Usage="ALWAYS_CONSUMED">\r
44 <Keyword>EdkFvbServiceLib</Keyword>\r
45 </LibraryClass>\r
1f86f081 46 <LibraryClass Usage="ALWAYS_CONSUMED">\r
47 <Keyword>UefiBootServicesTableLib</Keyword>\r
48 </LibraryClass>\r
6ed71dcc 49 <LibraryClass Usage="ALWAYS_CONSUMED">\r
50 <Keyword>UefiLib</Keyword>\r
51 </LibraryClass>\r
878ddf1f 52 </LibraryClassDefinitions>\r
53 <SourceFiles>\r
5094fb09 54 <Filename>Variable.h</Filename>\r
878ddf1f 55 <Filename>Variable.c</Filename>\r
5094fb09 56 <Filename>reclaim.h</Filename>\r
aec91719 57 <Filename>reclaim.c</Filename>\r
22613d6e 58 <Filename>InitVariable.c</Filename>\r
59 <Filename>Variable.dxs</Filename>\r
878ddf1f 60 </SourceFiles>\r
1f86f081 61 <PackageDependencies>\r
62 <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
62f84315 63 <Package PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d"/>\r
1f86f081 64 </PackageDependencies>\r
878ddf1f 65 <Protocols>\r
1f86f081 66 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 67 <ProtocolCName>gEfiVariableArchProtocolGuid</ProtocolCName>\r
1f86f081 68 </Protocol>\r
69 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 70 <ProtocolCName>gEfiVariableWriteArchProtocolGuid</ProtocolCName>\r
1f86f081 71 </Protocol>\r
72 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 73 <ProtocolCName>gEfiFaultTolerantWriteLiteProtocolGuid</ProtocolCName>\r
1f86f081 74 </Protocol>\r
1f86f081 75 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 76 <ProtocolCName>gEfiFirmwareVolumeBlockProtocolGuid</ProtocolCName>\r
1f86f081 77 </Protocol>\r
878ddf1f 78 </Protocols>\r
878ddf1f 79 <Externs>\r
1f86f081 80 <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>\r
15b06e58 81 <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>\r
878ddf1f 82 <Extern>\r
83 <ModuleEntryPoint>VariableServiceInitialize</ModuleEntryPoint>\r
84 </Extern>\r
85 <Extern>\r
86 <SetVirtualAddressMapCallBack>VariableClassAddressChangeEvent</SetVirtualAddressMapCallBack>\r
87 </Extern>\r
88 </Externs>\r
202c5d55 89 <PcdCoded>\r
90 <PcdEntry PcdItemType="DYNAMIC">\r
91 <C_Name>PcdFlashNvStorageVariableBase</C_Name>\r
92 <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
6ed71dcc 93 <HelpText>The driver gets the Variable store base address from this PCD. This base address point to
a298afce 94 an EFI_FIRMWARE_VOLUMN_HEADER struct.</HelpText>\r
95 </PcdEntry>\r
202c5d55 96 <PcdEntry PcdItemType="DYNAMIC">\r
97 <C_Name>PcdFlashNvStorageVariableSize</C_Name>\r
98 <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
a298afce 99 <HelpText>The driver gets the NvStorage Variable Size from this PCD.</HelpText>\r
100 </PcdEntry>\r
101 </PcdCoded>\r
1f86f081 102</ModuleSurfaceArea>