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