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 137