]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf
5e882134498041f1329bc5047e467a633f2aae83
[mirror_edk2.git] / MdeModulePkg / Universal / Variable / RuntimeDxe / VariableSmm.inf
1 ## @file
2 # This module installs SMM variable protocol into SMM protocol database,
3 # which can be used by SMM driver, and installs SMM variable protocol
4 # into BS protocol database, which can be used to notify the SMM Runtime
5 # Dxe driver that the SMM variable service is ready.
6 # This module should be used with SMM Runtime DXE module together. The
7 # SMM Runtime DXE module would install variable arch protocol and variable
8 # write arch protocol based on SMM variable module.
9 #
10 # Caution: This module requires additional review when modified.
11 # This driver will have external input - variable data and communicate buffer in SMM mode.
12 # This external input must be validated carefully to avoid security issue like
13 # buffer overflow, integer overflow.
14 #
15 # Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
16 # This program and the accompanying materials
17 # are licensed and made available under the terms and conditions of the BSD License
18 # which accompanies this distribution. The full text of the license may be found at
19 # http://opensource.org/licenses/bsd-license.php
20 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
21 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
22 #
23 #
24 ##
25
26 [Defines]
27 INF_VERSION = 0x00010005
28 BASE_NAME = VariableSmm
29 MODULE_UNI_FILE = VariableSmm.uni
30 FILE_GUID = 23A089B3-EED5-4ac5-B2AB-43E3298C2343
31 MODULE_TYPE = DXE_SMM_DRIVER
32 VERSION_STRING = 1.0
33 PI_SPECIFICATION_VERSION = 0x0001000A
34 ENTRY_POINT = VariableServiceInitialize
35
36 #
37 # The following information is for reference only and not required by the build tools.
38 #
39 # VALID_ARCHITECTURES = IA32 X64
40 #
41
42
43 [Sources]
44 Reclaim.c
45 Variable.c
46 VariableSmm.c
47 VarCheck.c
48 Variable.h
49
50 [Packages]
51 MdePkg/MdePkg.dec
52 MdeModulePkg/MdeModulePkg.dec
53
54 [LibraryClasses]
55 UefiDriverEntryPoint
56 MemoryAllocationLib
57 BaseLib
58 SynchronizationLib
59 UefiLib
60 SmmServicesTableLib
61 BaseMemoryLib
62 DebugLib
63 DxeServicesTableLib
64 HobLib
65 PcdLib
66 DevicePathLib
67
68 [Protocols]
69 gEfiSmmFirmwareVolumeBlockProtocolGuid ## CONSUMES
70 ## CONSUMES
71 ## NOTIFY
72 gEfiSmmFaultTolerantWriteProtocolGuid
73 ## PRODUCES
74 ## UNDEFINED # SmiHandlerRegister
75 gEfiSmmVariableProtocolGuid
76 gEfiSmmAccess2ProtocolGuid ## CONSUMES
77 gEfiSmmEndOfDxeProtocolGuid ## NOTIFY
78 gEdkiiSmmVarCheckProtocolGuid ## PRODUCES
79
80 [Guids]
81 ## PRODUCES ## GUID # Signature of Variable store header
82 ## CONSUMES ## GUID # Signature of Variable store header
83 ## SOMETIMES_CONSUMES ## HOB
84 gEfiVariableGuid
85 ## SOMETIMES_CONSUMES ## Variable:L"PlatformLang"
86 ## SOMETIMES_PRODUCES ## Variable:L"PlatformLang"
87 ## SOMETIMES_CONSUMES ## Variable:L"Lang"
88 ## SOMETIMES_PRODUCES ## Variable:L"Lang"
89 ## SOMETIMES_CONSUMES ## Variable:L"HwErrRecSupport"
90 gEfiGlobalVariableGuid
91 gSmmVariableWriteGuid ## PRODUCES ## UNDEFINED # Install protocol
92 gEfiSystemNvDataFvGuid ## CONSUMES ## GUID
93 gEfiHardwareErrorVariableGuid ## SOMETIMES_CONSUMES ## Variable:L"HwErrRec####"
94 ## SOMETIMES_CONSUMES ## HOB
95 gEdkiiFaultTolerantWriteGuid
96
97 [Pcd]
98 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize ## CONSUMES
99 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase ## SOMETIMES_CONSUMES
100 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 ## CONSUMES
101 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize ## CONSUMES
102 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize ## CONSUMES
103 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize ## CONSUMES
104 gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize ## CONSUMES
105
106 [FeaturePcd]
107 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics ## CONSUMES # statistic the information of variable.
108 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES
109
110 [Depex]
111 TRUE
112
113 [UserExtensions.TianoCore."ExtraFiles"]
114 VariableSmmExtra.uni