]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
MdeModulePkg VariableSmm: Check InfoSize correctly
[mirror_edk2.git] / MdeModulePkg / Universal / Variable / RuntimeDxe / VariableRuntimeDxe.inf
1 ## @file
2 # Provides variable service.
3 #
4 # This module installs variable arch protocol and variable write arch protocol to provide
5 # variable services: SetVariable, GetVariable, GetNextVariableName and QueryVariableInfo.
6 #
7 # Caution: This module requires additional review when modified.
8 # This driver will have external input - variable data.
9 # This external input must be validated carefully to avoid security issues such as
10 # buffer overflow or integer overflow.
11 #
12 # Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
13 # This program and the accompanying materials
14 # are licensed and made available under the terms and conditions of the BSD License
15 # which accompanies this distribution. The full text of the license may be found at
16 # http://opensource.org/licenses/bsd-license.php
17 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
18 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19 #
20 ##
21
22 [Defines]
23 INF_VERSION = 0x00010005
24 BASE_NAME = VariableRuntimeDxe
25 MODULE_UNI_FILE = VariableRuntimeDxe.uni
26 FILE_GUID = CBD2E4D5-7068-4FF5-B462-9822B4AD8D60
27 MODULE_TYPE = DXE_RUNTIME_DRIVER
28 VERSION_STRING = 1.0
29 ENTRY_POINT = VariableServiceInitialize
30
31 #
32 # The following information is for reference only and not required by the build tools.
33 #
34 # VALID_ARCHITECTURES = IA32 X64 EBC
35 #
36 # VIRTUAL_ADDRESS_MAP_CALLBACK = VariableClassAddressChangeEvent
37 #
38
39 [Sources]
40 Reclaim.c
41 Variable.c
42 VariableDxe.c
43 Variable.h
44 Measurement.c
45 TcgMorLockDxe.c
46 VarCheck.c
47 VariableExLib.c
48
49 [Packages]
50 MdePkg/MdePkg.dec
51 MdeModulePkg/MdeModulePkg.dec
52
53 [LibraryClasses]
54 MemoryAllocationLib
55 BaseLib
56 SynchronizationLib
57 UefiLib
58 UefiBootServicesTableLib
59 BaseMemoryLib
60 DebugLib
61 UefiRuntimeLib
62 DxeServicesTableLib
63 UefiDriverEntryPoint
64 PcdLib
65 HobLib
66 TpmMeasurementLib
67 AuthVariableLib
68 VarCheckLib
69
70 [Protocols]
71 gEfiFirmwareVolumeBlockProtocolGuid ## CONSUMES
72 ## CONSUMES
73 ## NOTIFY
74 gEfiFaultTolerantWriteProtocolGuid
75 gEfiVariableWriteArchProtocolGuid ## PRODUCES
76 gEfiVariableArchProtocolGuid ## PRODUCES
77 gEdkiiVariableLockProtocolGuid ## PRODUCES
78 gEdkiiVarCheckProtocolGuid ## PRODUCES
79
80 [Guids]
81 ## SOMETIMES_CONSUMES ## GUID # Signature of Variable store header
82 ## SOMETIMES_PRODUCES ## GUID # Signature of Variable store header
83 ## SOMETIMES_CONSUMES ## HOB
84 ## SOMETIMES_PRODUCES ## SystemTable
85 gEfiAuthenticatedVariableGuid
86
87 ## SOMETIMES_CONSUMES ## GUID # Signature of Variable store header
88 ## SOMETIMES_PRODUCES ## GUID # Signature of Variable store header
89 ## SOMETIMES_CONSUMES ## HOB
90 ## SOMETIMES_PRODUCES ## SystemTable
91 gEfiVariableGuid
92
93 ## SOMETIMES_CONSUMES ## Variable:L"PlatformLang"
94 ## SOMETIMES_PRODUCES ## Variable:L"PlatformLang"
95 ## SOMETIMES_CONSUMES ## Variable:L"Lang"
96 ## SOMETIMES_PRODUCES ## Variable:L"Lang"
97 gEfiGlobalVariableGuid
98
99 gEfiMemoryOverwriteControlDataGuid ## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl"
100 gEfiMemoryOverwriteRequestControlLockGuid ## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControlLock"
101
102 gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event
103 gEfiSystemNvDataFvGuid ## CONSUMES ## GUID
104 gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event
105 gEdkiiFaultTolerantWriteGuid ## SOMETIMES_CONSUMES ## HOB
106
107 ## SOMETIMES_CONSUMES ## Variable:L"VarErrorFlag"
108 ## SOMETIMES_PRODUCES ## Variable:L"VarErrorFlag"
109 gEdkiiVarErrorFlagGuid
110
111 ## SOMETIMES_CONSUMES ## Variable:L"DB"
112 ## SOMETIMES_CONSUMES ## Variable:L"DBX"
113 gEfiImageSecurityDatabaseGuid
114
115 [Pcd]
116 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize ## CONSUMES
117 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase ## SOMETIMES_CONSUMES
118 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 ## CONSUMES
119 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize ## CONSUMES
120 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize ## CONSUMES
121 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize ## CONSUMES
122 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize ## CONSUMES
123 gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize ## CONSUMES
124 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxUserNvVariableSpaceSize ## CONSUMES
125 gEfiMdeModulePkgTokenSpaceGuid.PcdBoottimeReservedNvVariableSpaceSize ## CONSUMES
126 gEfiMdeModulePkgTokenSpaceGuid.PcdReclaimVariableSpaceAtEndOfDxe ## CONSUMES
127
128 [FeaturePcd]
129 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics ## CONSUMES # statistic the information of variable.
130 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES # Auto update PlatformLang/Lang
131
132 [Depex]
133 TRUE
134
135 [UserExtensions.TianoCore."ExtraFiles"]
136 VariableRuntimeDxeExtra.uni