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