## @file\r
-# This module installs variable arch protocol and variable write arch protocol.\r
+# Provides variable service.\r
#\r
-# It provides four EFI_RUNTIME_SERVICES: SetVariable, GetVariable, GetNextVariableName and QueryVariableInfo.\r
+# This module installs variable arch protocol and variable write arch protocol to provide\r
+# variable services: SetVariable, GetVariable, GetNextVariableName and QueryVariableInfo.\r
#\r
# Caution: This module requires additional review when modified.\r
# This driver will have external input - variable data.\r
# This external input must be validated carefully to avoid security issues such as\r
# buffer overflow or integer overflow.\r
#\r
-# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\r
-#\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
+# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>\r
+# This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution. The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
#\r
##\r
\r
Variable.c\r
VariableDxe.c\r
Variable.h\r
+ Measurement.c\r
+ TcgMorLockDxe.c\r
+ VarCheck.c\r
+ VariableExLib.c\r
\r
[Packages]\r
MdePkg/MdePkg.dec\r
UefiDriverEntryPoint\r
PcdLib\r
HobLib\r
+ TpmMeasurementLib\r
+ AuthVariableLib\r
+ VarCheckLib\r
\r
[Protocols]\r
gEfiFirmwareVolumeBlockProtocolGuid ## CONSUMES\r
gEfiVariableWriteArchProtocolGuid ## PRODUCES\r
gEfiVariableArchProtocolGuid ## PRODUCES\r
gEdkiiVariableLockProtocolGuid ## PRODUCES\r
+ gEdkiiVarCheckProtocolGuid ## PRODUCES\r
\r
[Guids]\r
- ## PRODUCES ## GUID # Signature of Variable store header\r
- ## CONSUMES ## GUID # Signature of Variable store header\r
+ ## SOMETIMES_CONSUMES ## GUID # Signature of Variable store header\r
+ ## SOMETIMES_PRODUCES ## GUID # Signature of Variable store header\r
+ ## SOMETIMES_CONSUMES ## HOB\r
+ ## SOMETIMES_PRODUCES ## SystemTable\r
+ gEfiAuthenticatedVariableGuid\r
+\r
+ ## SOMETIMES_CONSUMES ## GUID # Signature of Variable store header\r
+ ## SOMETIMES_PRODUCES ## GUID # Signature of Variable store header\r
## SOMETIMES_CONSUMES ## HOB\r
## SOMETIMES_PRODUCES ## SystemTable\r
gEfiVariableGuid\r
+\r
## SOMETIMES_CONSUMES ## Variable:L"PlatformLang"\r
## SOMETIMES_PRODUCES ## Variable:L"PlatformLang"\r
## SOMETIMES_CONSUMES ## Variable:L"Lang"\r
## SOMETIMES_PRODUCES ## Variable:L"Lang"\r
- ## SOMETIMES_CONSUMES ## Variable:L"HwErrRecSupport"\r
+ ## SOMETIMES_CONSUMES ## Variable:L"PK"\r
+ ## SOMETIMES_CONSUMES ## Variable:L"KEK"\r
+ ## SOMETIMES_CONSUMES ## Variable:L"SecureBoot"\r
gEfiGlobalVariableGuid\r
+\r
+ gEfiMemoryOverwriteControlDataGuid ## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl"\r
+ gEfiMemoryOverwriteRequestControlLockGuid ## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControlLock"\r
+\r
gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event\r
gEfiSystemNvDataFvGuid ## CONSUMES ## GUID\r
- gEfiHardwareErrorVariableGuid ## SOMETIMES_CONSUMES ## Variable:L"HwErrRec####"\r
gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event\r
- ## SOMETIMES_CONSUMES ## HOB\r
- gEdkiiFaultTolerantWriteGuid\r
+ gEdkiiFaultTolerantWriteGuid ## SOMETIMES_CONSUMES ## HOB\r
+\r
+ ## SOMETIMES_CONSUMES ## Variable:L"VarErrorFlag"\r
+ ## SOMETIMES_PRODUCES ## Variable:L"VarErrorFlag"\r
+ gEdkiiVarErrorFlagGuid\r
+\r
+ ## SOMETIMES_CONSUMES ## Variable:L"db"\r
+ ## SOMETIMES_CONSUMES ## Variable:L"dbx"\r
+ ## SOMETIMES_CONSUMES ## Variable:L"dbt"\r
+ gEfiImageSecurityDatabaseGuid\r
\r
[Pcd]\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize ## CONSUMES\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase ## SOMETIMES_CONSUMES\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 ## CONSUMES\r
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize ## CONSUMES\r
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize ## CONSUMES\r
gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize ## CONSUMES\r
gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize ## CONSUMES\r
- \r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxUserNvVariableSpaceSize ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdBoottimeReservedNvVariableSpaceSize ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdReclaimVariableSpaceAtEndOfDxe ## CONSUMES\r
+\r
[FeaturePcd]\r
gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics ## CONSUMES # statistic the information of variable.\r
- gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES\r
+ gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES # Auto update PlatformLang/Lang\r
\r
[Depex]\r
TRUE\r