summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
blob: c9434df631ee8b0e6a93a6583fb8cbbd7dfd8198 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
## @file
#  Provides variable service.
#
#  This module installs variable arch protocol and variable write arch protocol to provide
#  variable services: SetVariable, GetVariable, GetNextVariableName and QueryVariableInfo.
#
#  Caution: This module requires additional review when modified.
#  This driver will have external input - variable data.
#  This external input must be validated carefully to avoid security issues such as
#  buffer overflow or integer overflow.
#
# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = VariableRuntimeDxe
  MODULE_UNI_FILE                = VariableRuntimeDxe.uni
  FILE_GUID                      = CBD2E4D5-7068-4FF5-B462-9822B4AD8D60
  MODULE_TYPE                    = DXE_RUNTIME_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = VariableServiceInitialize

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#
#  VIRTUAL_ADDRESS_MAP_CALLBACK  =  VariableClassAddressChangeEvent
#

[Sources]
  Reclaim.c
  Variable.c
  VariableDxe.c
  Variable.h
  VariableNonVolatile.c
  VariableNonVolatile.h
  VariableParsing.c
  VariableParsing.h
  VariableRuntimeCache.c
  VariableRuntimeCache.h
  PrivilegePolymorphic.h
  Measurement.c
  TcgMorLockDxe.c
  VarCheck.c
  VariableExLib.c
  SpeculationBarrierDxe.c
  VariableLockRequestToLock.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  MemoryAllocationLib
  BaseLib
  SynchronizationLib
  UefiLib
  UefiBootServicesTableLib
  BaseMemoryLib
  DebugLib
  UefiRuntimeLib
  DxeServicesTableLib
  UefiDriverEntryPoint
  PcdLib
  HobLib
  TpmMeasurementLib
  AuthVariableLib
  VarCheckLib
  VariablePolicyLib
  VariablePolicyHelperLib

[Protocols]
  gEfiFirmwareVolumeBlockProtocolGuid           ## CONSUMES
  ## CONSUMES
  ## NOTIFY
  gEfiFaultTolerantWriteProtocolGuid
  gEfiVariableWriteArchProtocolGuid             ## PRODUCES
  gEfiVariableArchProtocolGuid                  ## PRODUCES
  gEdkiiVariableLockProtocolGuid                ## PRODUCES
  gEdkiiVariablePolicyProtocolGuid              ## CONSUMES
  gEdkiiVarCheckProtocolGuid                    ## PRODUCES

[Guids]
  ## SOMETIMES_CONSUMES   ## GUID # Signature of Variable store header
  ## SOMETIMES_PRODUCES   ## GUID # Signature of Variable store header
  ## SOMETIMES_CONSUMES   ## HOB
  ## SOMETIMES_PRODUCES   ## SystemTable
  gEfiAuthenticatedVariableGuid

  ## SOMETIMES_CONSUMES   ## GUID # Signature of Variable store header
  ## SOMETIMES_PRODUCES   ## GUID # Signature of Variable store header
  ## SOMETIMES_CONSUMES   ## HOB
  ## SOMETIMES_PRODUCES   ## SystemTable
  gEfiVariableGuid

  ## SOMETIMES_CONSUMES   ## Variable:L"PlatformLang"
  ## SOMETIMES_PRODUCES   ## Variable:L"PlatformLang"
  ## SOMETIMES_CONSUMES   ## Variable:L"Lang"
  ## SOMETIMES_PRODUCES   ## Variable:L"Lang"
  ## SOMETIMES_CONSUMES   ## Variable:L"PK"
  ## SOMETIMES_CONSUMES   ## Variable:L"KEK"
  ## SOMETIMES_CONSUMES   ## Variable:L"SecureBoot"
  gEfiGlobalVariableGuid

  gEfiMemoryOverwriteControlDataGuid            ## SOMETIMES_CONSUMES   ## Variable:L"MemoryOverwriteRequestControl"
  gEfiMemoryOverwriteRequestControlLockGuid     ## SOMETIMES_PRODUCES   ## Variable:L"MemoryOverwriteRequestControlLock"

  gEfiEventVirtualAddressChangeGuid             ## CONSUMES             ## Event
  gEfiSystemNvDataFvGuid                        ## CONSUMES             ## GUID
  gEfiEndOfDxeEventGroupGuid                    ## CONSUMES             ## Event
  gEdkiiFaultTolerantWriteGuid                  ## SOMETIMES_CONSUMES   ## HOB

  ## SOMETIMES_CONSUMES   ## Variable:L"VarErrorFlag"
  ## SOMETIMES_PRODUCES   ## Variable:L"VarErrorFlag"
  gEdkiiVarErrorFlagGuid

  ## SOMETIMES_CONSUMES   ## Variable:L"db"
  ## SOMETIMES_CONSUMES   ## Variable:L"dbx"
  ## SOMETIMES_CONSUMES   ## Variable:L"dbt"
  gEfiImageSecurityDatabaseGuid

[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize      ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase      ## SOMETIMES_CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64    ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize                 ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize             ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVolatileVariableSize         ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize    ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize               ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize                ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxUserNvVariableSpaceSize           ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdBoottimeReservedNvVariableSpaceSize  ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdReclaimVariableSpaceAtEndOfDxe  ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable         ## SOMETIMES_CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved      ## SOMETIMES_CONSUMES

[FeaturePcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics  ## CONSUMES # statistic the information of variable.
  gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES # Auto update PlatformLang/Lang

[Depex]
  TRUE

[UserExtensions.TianoCore."ExtraFiles"]
  VariableRuntimeDxeExtra.uni