]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
MdeModulePkg Variable: Align TPL level for (Smm)EndOfDxe callback
[mirror_edk2.git] / MdeModulePkg / Universal / Variable / RuntimeDxe / VariableRuntimeDxe.inf
index bde1d04386f06ed3a3d348009ffa28d81f1928da..e840fc9bff40fd69f6901b87301a5cb4706bfd65 100644 (file)
@@ -1,22 +1,28 @@
 ## @file\r
-# Component description file for Variable module.\r
+#  Provides variable service.\r
 #\r
-# This module installs three EFI_RUNTIME_SERVICES: SetVariable, GetVariable, GetNextVariableName.\r
-# Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+#  This module installs variable arch protocol and variable write arch protocol to provide\r
+#  variable services: SetVariable, GetVariable, GetNextVariableName and QueryVariableInfo.\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
+#  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 - 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
 [Defines]\r
   INF_VERSION                    = 0x00010005\r
   BASE_NAME                      = VariableRuntimeDxe\r
+  MODULE_UNI_FILE                = VariableRuntimeDxe.uni\r
   FILE_GUID                      = CBD2E4D5-7068-4FF5-B462-9822B4AD8D60\r
   MODULE_TYPE                    = DXE_RUNTIME_DRIVER\r
   VERSION_STRING                 = 1.0\r
 [Sources]\r
   Reclaim.c\r
   Variable.c\r
+  VariableDxe.c\r
   Variable.h\r
+  PrivilegePolymorphic.h\r
+  Measurement.c\r
+  TcgMorLockDxe.c\r
+  VarCheck.c\r
+  VariableExLib.c\r
 \r
 [Packages]\r
   MdePkg/MdePkg.dec\r
   DxeServicesTableLib\r
   UefiDriverEntryPoint\r
   PcdLib\r
+  HobLib\r
+  TpmMeasurementLib\r
+  AuthVariableLib\r
+  VarCheckLib\r
 \r
 [Protocols]\r
-  gEfiFirmwareVolumeBlockProtocolGuid           ## SOMETIMES_CONSUMES\r
-  gEfiVariableWriteArchProtocolGuid             ## ALWAYS_PRODUCES\r
-  gEfiVariableArchProtocolGuid                  ## ALWAYS_PRODUCES\r
-  gEfiFaultTolerantWriteProtocolGuid            ## SOMETIMES_CONSUMES\r
+  gEfiFirmwareVolumeBlockProtocolGuid           ## CONSUMES\r
+  ## CONSUMES\r
+  ## NOTIFY\r
+  gEfiFaultTolerantWriteProtocolGuid\r
+  gEfiVariableWriteArchProtocolGuid             ## PRODUCES\r
+  gEfiVariableArchProtocolGuid                  ## PRODUCES\r
+  gEdkiiVariableLockProtocolGuid                ## PRODUCES\r
+  gEdkiiVarCheckProtocolGuid                    ## PRODUCES\r
 \r
 [Guids]\r
-  gEfiVariableGuid                              ## PRODUCES ## Configuration Table Guid \r
-  gEfiGlobalVariableGuid                        ## PRODUCES ## Variable Guid\r
-  gEfiEventVirtualAddressChangeGuid             ## PRODUCES ## Event\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"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
+  gEfiEndOfDxeEventGroupGuid                    ## CONSUMES             ## Event\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\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize\r
-  \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
+  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxUserNvVariableSpaceSize           ## CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdBoottimeReservedNvVariableSpaceSize  ## CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdReclaimVariableSpaceAtEndOfDxe  ## CONSUMES\r
+\r
 [FeaturePcd]\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics  ## SOMETIME_CONSUMES (statistic the information of variable.)\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics  ## CONSUMES # statistic the information of variable.\r
+  gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES # Auto update PlatformLang/Lang\r
 \r
 [Depex]\r
-  gEfiFirmwareVolumeBlockProtocolGuid AND gEfiFaultTolerantWriteProtocolGuid\r
+  TRUE\r
 \r
-# [Event]\r
-#   ##\r
-#   # Event will be signaled for VIRTUAL_ADDRESS_CHANGE event.\r
-#   #\r
-#   EVENT_TYPE_NOTIFY_SIGNAL                    ## PRODUCES\r
-#\r
-#
\ No newline at end of file
+[UserExtensions.TianoCore."ExtraFiles"]\r
+  VariableRuntimeDxeExtra.uni\r