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 VariableRuntimeCache.c 44 VariableRuntimeCache.h 45 PrivilegePolymorphic.h 46 Measurement.c 47 TcgMorLockDxe.c 48 VarCheck.c 49 VariableExLib.c 50 SpeculationBarrierDxe.c 51 52[Packages] 53 MdePkg/MdePkg.dec 54 MdeModulePkg/MdeModulePkg.dec 55 56[LibraryClasses] 57 MemoryAllocationLib 58 BaseLib 59 SynchronizationLib 60 UefiLib 61 UefiBootServicesTableLib 62 BaseMemoryLib 63 DebugLib 64 UefiRuntimeLib 65 DxeServicesTableLib 66 UefiDriverEntryPoint 67 PcdLib 68 HobLib 69 TpmMeasurementLib 70 AuthVariableLib 71 VarCheckLib 72 73[Protocols] 74 gEfiFirmwareVolumeBlockProtocolGuid ## CONSUMES 75 ## CONSUMES 76 ## NOTIFY 77 gEfiFaultTolerantWriteProtocolGuid 78 gEfiVariableWriteArchProtocolGuid ## PRODUCES 79 gEfiVariableArchProtocolGuid ## PRODUCES 80 gEdkiiVariableLockProtocolGuid ## PRODUCES 81 gEdkiiVarCheckProtocolGuid ## PRODUCES 82 83[Guids] 84 ## SOMETIMES_CONSUMES ## GUID # Signature of Variable store header 85 ## SOMETIMES_PRODUCES ## GUID # Signature of Variable store header 86 ## SOMETIMES_CONSUMES ## HOB 87 ## SOMETIMES_PRODUCES ## SystemTable 88 gEfiAuthenticatedVariableGuid 89 90 ## SOMETIMES_CONSUMES ## GUID # Signature of Variable store header 91 ## SOMETIMES_PRODUCES ## GUID # Signature of Variable store header 92 ## SOMETIMES_CONSUMES ## HOB 93 ## SOMETIMES_PRODUCES ## SystemTable 94 gEfiVariableGuid 95 96 ## SOMETIMES_CONSUMES ## Variable:L"PlatformLang" 97 ## SOMETIMES_PRODUCES ## Variable:L"PlatformLang" 98 ## SOMETIMES_CONSUMES ## Variable:L"Lang" 99 ## SOMETIMES_PRODUCES ## Variable:L"Lang" 100 ## SOMETIMES_CONSUMES ## Variable:L"PK" 101 ## SOMETIMES_CONSUMES ## Variable:L"KEK" 102 ## SOMETIMES_CONSUMES ## Variable:L"SecureBoot" 103 gEfiGlobalVariableGuid 104 105 gEfiMemoryOverwriteControlDataGuid ## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl" 106 gEfiMemoryOverwriteRequestControlLockGuid ## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControlLock" 107 108 gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event 109 gEfiSystemNvDataFvGuid ## CONSUMES ## GUID 110 gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event 111 gEdkiiFaultTolerantWriteGuid ## SOMETIMES_CONSUMES ## HOB 112 113 ## SOMETIMES_CONSUMES ## Variable:L"VarErrorFlag" 114 ## SOMETIMES_PRODUCES ## Variable:L"VarErrorFlag" 115 gEdkiiVarErrorFlagGuid 116 117 ## SOMETIMES_CONSUMES ## Variable:L"db" 118 ## SOMETIMES_CONSUMES ## Variable:L"dbx" 119 ## SOMETIMES_CONSUMES ## Variable:L"dbt" 120 gEfiImageSecurityDatabaseGuid 121 122[Pcd] 123 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize ## CONSUMES 124 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase ## SOMETIMES_CONSUMES 125 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 ## CONSUMES 126 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize ## CONSUMES 127 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize ## CONSUMES 128 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVolatileVariableSize ## CONSUMES 129 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize ## CONSUMES 130 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize ## CONSUMES 131 gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize ## CONSUMES 132 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxUserNvVariableSpaceSize ## CONSUMES 133 gEfiMdeModulePkgTokenSpaceGuid.PcdBoottimeReservedNvVariableSpaceSize ## CONSUMES 134 gEfiMdeModulePkgTokenSpaceGuid.PcdReclaimVariableSpaceAtEndOfDxe ## CONSUMES 135 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable ## SOMETIMES_CONSUMES 136 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved ## SOMETIMES_CONSUMES 137 138[FeaturePcd] 139 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics ## CONSUMES # statistic the information of variable. 140 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES # Auto update PlatformLang/Lang 141 142[Depex] 143 TRUE 144 145[UserExtensions.TianoCore."ExtraFiles"] 146 VariableRuntimeDxeExtra.uni 147