]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
SecurityPkg: Allow VariablePolicy state to delete authenticated variables
[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 - 2019, Intel Corporation. All rights reserved.<BR>
13 # Copyright (c) Microsoft Corporation.
14 # SPDX-License-Identifier: BSD-2-Clause-Patent
15 #
16 ##
17
18 [Defines]
19 INF_VERSION = 0x00010005
20 BASE_NAME = VariableRuntimeDxe
21 MODULE_UNI_FILE = VariableRuntimeDxe.uni
22 FILE_GUID = CBD2E4D5-7068-4FF5-B462-9822B4AD8D60
23 MODULE_TYPE = DXE_RUNTIME_DRIVER
24 VERSION_STRING = 1.0
25 ENTRY_POINT = VariableServiceInitialize
26
27 #
28 # The following information is for reference only and not required by the build tools.
29 #
30 # VALID_ARCHITECTURES = IA32 X64 EBC
31 #
32 # VIRTUAL_ADDRESS_MAP_CALLBACK = VariableClassAddressChangeEvent
33 #
34
35 [Sources]
36 Reclaim.c
37 Variable.c
38 VariableDxe.c
39 Variable.h
40 VariableNonVolatile.c
41 VariableNonVolatile.h
42 VariableParsing.c
43 VariableParsing.h
44 VariableRuntimeCache.c
45 VariableRuntimeCache.h
46 PrivilegePolymorphic.h
47 Measurement.c
48 TcgMorLockDxe.c
49 VarCheck.c
50 VariableExLib.c
51 SpeculationBarrierDxe.c
52
53 [Packages]
54 MdePkg/MdePkg.dec
55 MdeModulePkg/MdeModulePkg.dec
56
57 [LibraryClasses]
58 MemoryAllocationLib
59 BaseLib
60 SynchronizationLib
61 UefiLib
62 UefiBootServicesTableLib
63 BaseMemoryLib
64 DebugLib
65 UefiRuntimeLib
66 DxeServicesTableLib
67 UefiDriverEntryPoint
68 PcdLib
69 HobLib
70 TpmMeasurementLib
71 AuthVariableLib
72 VarCheckLib
73 VariablePolicyLib
74
75 [Protocols]
76 gEfiFirmwareVolumeBlockProtocolGuid ## CONSUMES
77 ## CONSUMES
78 ## NOTIFY
79 gEfiFaultTolerantWriteProtocolGuid
80 gEfiVariableWriteArchProtocolGuid ## PRODUCES
81 gEfiVariableArchProtocolGuid ## PRODUCES
82 gEdkiiVariableLockProtocolGuid ## PRODUCES
83 gEdkiiVarCheckProtocolGuid ## PRODUCES
84
85 [Guids]
86 ## SOMETIMES_CONSUMES ## GUID # Signature of Variable store header
87 ## SOMETIMES_PRODUCES ## GUID # Signature of Variable store header
88 ## SOMETIMES_CONSUMES ## HOB
89 ## SOMETIMES_PRODUCES ## SystemTable
90 gEfiAuthenticatedVariableGuid
91
92 ## SOMETIMES_CONSUMES ## GUID # Signature of Variable store header
93 ## SOMETIMES_PRODUCES ## GUID # Signature of Variable store header
94 ## SOMETIMES_CONSUMES ## HOB
95 ## SOMETIMES_PRODUCES ## SystemTable
96 gEfiVariableGuid
97
98 ## SOMETIMES_CONSUMES ## Variable:L"PlatformLang"
99 ## SOMETIMES_PRODUCES ## Variable:L"PlatformLang"
100 ## SOMETIMES_CONSUMES ## Variable:L"Lang"
101 ## SOMETIMES_PRODUCES ## Variable:L"Lang"
102 ## SOMETIMES_CONSUMES ## Variable:L"PK"
103 ## SOMETIMES_CONSUMES ## Variable:L"KEK"
104 ## SOMETIMES_CONSUMES ## Variable:L"SecureBoot"
105 gEfiGlobalVariableGuid
106
107 gEfiMemoryOverwriteControlDataGuid ## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl"
108 gEfiMemoryOverwriteRequestControlLockGuid ## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControlLock"
109
110 gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event
111 gEfiSystemNvDataFvGuid ## CONSUMES ## GUID
112 gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event
113 gEdkiiFaultTolerantWriteGuid ## SOMETIMES_CONSUMES ## HOB
114
115 ## SOMETIMES_CONSUMES ## Variable:L"VarErrorFlag"
116 ## SOMETIMES_PRODUCES ## Variable:L"VarErrorFlag"
117 gEdkiiVarErrorFlagGuid
118
119 ## SOMETIMES_CONSUMES ## Variable:L"db"
120 ## SOMETIMES_CONSUMES ## Variable:L"dbx"
121 ## SOMETIMES_CONSUMES ## Variable:L"dbt"
122 gEfiImageSecurityDatabaseGuid
123
124 [Pcd]
125 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize ## CONSUMES
126 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase ## SOMETIMES_CONSUMES
127 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 ## CONSUMES
128 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize ## CONSUMES
129 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize ## CONSUMES
130 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVolatileVariableSize ## CONSUMES
131 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize ## CONSUMES
132 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize ## CONSUMES
133 gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize ## CONSUMES
134 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxUserNvVariableSpaceSize ## CONSUMES
135 gEfiMdeModulePkgTokenSpaceGuid.PcdBoottimeReservedNvVariableSpaceSize ## CONSUMES
136 gEfiMdeModulePkgTokenSpaceGuid.PcdReclaimVariableSpaceAtEndOfDxe ## CONSUMES
137 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable ## SOMETIMES_CONSUMES
138 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved ## SOMETIMES_CONSUMES
139
140 [FeaturePcd]
141 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics ## CONSUMES # statistic the information of variable.
142 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES # Auto update PlatformLang/Lang
143
144 [Depex]
145 TRUE
146
147 [UserExtensions.TianoCore."ExtraFiles"]
148 VariableRuntimeDxeExtra.uni