2 # Provides variable service.
4 # This module installs variable arch protocol and variable write arch protocol to provide
5 # variable services: SetVariable, GetVariable, GetNextVariableName and QueryVariableInfo.
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.
12 # Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
13 # Copyright (c) Microsoft Corporation.
14 # SPDX-License-Identifier: BSD-2-Clause-Patent
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
25 ENTRY_POINT = VariableServiceInitialize
28 # The following information is for reference only and not required by the build tools.
30 # VALID_ARCHITECTURES = IA32 X64 EBC
32 # VIRTUAL_ADDRESS_MAP_CALLBACK = VariableClassAddressChangeEvent
44 VariableRuntimeCache.c
45 VariableRuntimeCache.h
46 PrivilegePolymorphic.h
51 SpeculationBarrierDxe.c
55 MdeModulePkg/MdeModulePkg.dec
62 UefiBootServicesTableLib
74 VariablePolicyHelperLib
77 gEfiFirmwareVolumeBlockProtocolGuid ## CONSUMES
80 gEfiFaultTolerantWriteProtocolGuid
81 gEfiVariableWriteArchProtocolGuid ## PRODUCES
82 gEfiVariableArchProtocolGuid ## PRODUCES
83 gEdkiiVariableLockProtocolGuid ## PRODUCES
84 gEdkiiVariablePolicyProtocolGuid ## CONSUMES
85 gEdkiiVarCheckProtocolGuid ## PRODUCES
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 gEfiAuthenticatedVariableGuid
94 ## SOMETIMES_CONSUMES ## GUID # Signature of Variable store header
95 ## SOMETIMES_PRODUCES ## GUID # Signature of Variable store header
96 ## SOMETIMES_CONSUMES ## HOB
97 ## SOMETIMES_PRODUCES ## SystemTable
100 ## SOMETIMES_CONSUMES ## Variable:L"PlatformLang"
101 ## SOMETIMES_PRODUCES ## Variable:L"PlatformLang"
102 ## SOMETIMES_CONSUMES ## Variable:L"Lang"
103 ## SOMETIMES_PRODUCES ## Variable:L"Lang"
104 ## SOMETIMES_CONSUMES ## Variable:L"PK"
105 ## SOMETIMES_CONSUMES ## Variable:L"KEK"
106 ## SOMETIMES_CONSUMES ## Variable:L"SecureBoot"
107 gEfiGlobalVariableGuid
109 gEfiMemoryOverwriteControlDataGuid ## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl"
110 gEfiMemoryOverwriteRequestControlLockGuid ## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControlLock"
112 gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event
113 gEfiSystemNvDataFvGuid ## CONSUMES ## GUID
114 gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event
115 gEdkiiFaultTolerantWriteGuid ## SOMETIMES_CONSUMES ## HOB
117 ## SOMETIMES_CONSUMES ## Variable:L"VarErrorFlag"
118 ## SOMETIMES_PRODUCES ## Variable:L"VarErrorFlag"
119 gEdkiiVarErrorFlagGuid
121 ## SOMETIMES_CONSUMES ## Variable:L"db"
122 ## SOMETIMES_CONSUMES ## Variable:L"dbx"
123 ## SOMETIMES_CONSUMES ## Variable:L"dbt"
124 gEfiImageSecurityDatabaseGuid
127 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize ## CONSUMES
128 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase ## SOMETIMES_CONSUMES
129 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 ## CONSUMES
130 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize ## CONSUMES
131 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize ## CONSUMES
132 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVolatileVariableSize ## CONSUMES
133 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize ## CONSUMES
134 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize ## CONSUMES
135 gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize ## CONSUMES
136 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxUserNvVariableSpaceSize ## CONSUMES
137 gEfiMdeModulePkgTokenSpaceGuid.PcdBoottimeReservedNvVariableSpaceSize ## CONSUMES
138 gEfiMdeModulePkgTokenSpaceGuid.PcdReclaimVariableSpaceAtEndOfDxe ## CONSUMES
139 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable ## SOMETIMES_CONSUMES
140 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved ## SOMETIMES_CONSUMES
143 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics ## CONSUMES # statistic the information of variable.
144 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES # Auto update PlatformLang/Lang
149 [UserExtensions.TianoCore."ExtraFiles"]
150 VariableRuntimeDxeExtra.uni