]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
MdeModulePkg Variable: Add emulated variable NV mode support
[mirror_edk2.git] / MdeModulePkg / Universal / Variable / RuntimeDxe / VariableRuntimeDxe.inf
CommitLineData
6bfbb5f0 1## @file\r
fa0737a8 2# Provides variable service.\r
6036e94d 3#\r
fa0737a8
SZ
4# This module installs variable arch protocol and variable write arch protocol to provide\r
5# variable services: SetVariable, GetVariable, GetNextVariableName and QueryVariableInfo.\r
8d3a5c82 6#\r
18a7dbbc
SZ
7# Caution: This module requires additional review when modified.\r
8# This driver will have external input - variable data.\r
9# This external input must be validated carefully to avoid security issues such as\r
10# buffer overflow or integer overflow.\r
11#\r
7cd69959 12# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>\r
fa0737a8
SZ
13# This program and the accompanying materials\r
14# are licensed and made available under the terms and conditions of the BSD License\r
15# which accompanies this distribution. The full text of the license may be found at\r
16# http://opensource.org/licenses/bsd-license.php\r
17# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
18# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
8d3a5c82 19#\r
6bfbb5f0 20##\r
8d3a5c82 21\r
22[Defines]\r
23 INF_VERSION = 0x00010005\r
24 BASE_NAME = VariableRuntimeDxe\r
6036e94d 25 MODULE_UNI_FILE = VariableRuntimeDxe.uni\r
8d3a5c82 26 FILE_GUID = CBD2E4D5-7068-4FF5-B462-9822B4AD8D60\r
27 MODULE_TYPE = DXE_RUNTIME_DRIVER\r
28 VERSION_STRING = 1.0\r
8d3a5c82 29 ENTRY_POINT = VariableServiceInitialize\r
30\r
31#\r
32# The following information is for reference only and not required by the build tools.\r
33#\r
078bee4e 34# VALID_ARCHITECTURES = IA32 X64 EBC\r
8d3a5c82 35#\r
36# VIRTUAL_ADDRESS_MAP_CALLBACK = VariableClassAddressChangeEvent\r
37#\r
38\r
6bfbb5f0 39[Sources]\r
f8478314 40 Reclaim.c\r
8d3a5c82 41 Variable.c\r
8a2d4996 42 VariableDxe.c\r
8d3a5c82 43 Variable.h\r
00663d04 44 PrivilegePolymorphic.h\r
fa0737a8 45 Measurement.c\r
2f6aa774 46 TcgMorLockDxe.c\r
efb01a10 47 VarCheck.c\r
fa0737a8 48 VariableExLib.c\r
49395ea0 49 SpeculationBarrierDxe.c\r
8d3a5c82 50\r
51[Packages]\r
52 MdePkg/MdePkg.dec\r
623ad724 53 MdeModulePkg/MdeModulePkg.dec\r
8d3a5c82 54\r
55[LibraryClasses]\r
56 MemoryAllocationLib\r
57 BaseLib\r
4cf894eb 58 SynchronizationLib\r
8d3a5c82 59 UefiLib\r
60 UefiBootServicesTableLib\r
8d3a5c82 61 BaseMemoryLib\r
62 DebugLib\r
63 UefiRuntimeLib\r
64 DxeServicesTableLib\r
65 UefiDriverEntryPoint\r
66 PcdLib\r
0f7aff72 67 HobLib\r
fa0737a8
SZ
68 TpmMeasurementLib\r
69 AuthVariableLib\r
8021f4c7 70 VarCheckLib\r
8d3a5c82 71\r
8d3a5c82 72[Protocols]\r
6036e94d
SZ
73 gEfiFirmwareVolumeBlockProtocolGuid ## CONSUMES\r
74 ## CONSUMES\r
75 ## NOTIFY\r
76 gEfiFaultTolerantWriteProtocolGuid\r
77 gEfiVariableWriteArchProtocolGuid ## PRODUCES\r
78 gEfiVariableArchProtocolGuid ## PRODUCES\r
79 gEdkiiVariableLockProtocolGuid ## PRODUCES\r
efb01a10 80 gEdkiiVarCheckProtocolGuid ## PRODUCES\r
8d3a5c82 81\r
33a5a666 82[Guids]\r
8d878f84
LG
83 ## SOMETIMES_CONSUMES ## GUID # Signature of Variable store header\r
84 ## SOMETIMES_PRODUCES ## GUID # Signature of Variable store header\r
fa0737a8
SZ
85 ## SOMETIMES_CONSUMES ## HOB\r
86 ## SOMETIMES_PRODUCES ## SystemTable\r
87 gEfiAuthenticatedVariableGuid\r
88\r
8d878f84
LG
89 ## SOMETIMES_CONSUMES ## GUID # Signature of Variable store header\r
90 ## SOMETIMES_PRODUCES ## GUID # Signature of Variable store header\r
6036e94d
SZ
91 ## SOMETIMES_CONSUMES ## HOB\r
92 ## SOMETIMES_PRODUCES ## SystemTable\r
93 gEfiVariableGuid\r
fa0737a8 94\r
6036e94d
SZ
95 ## SOMETIMES_CONSUMES ## Variable:L"PlatformLang"\r
96 ## SOMETIMES_PRODUCES ## Variable:L"PlatformLang"\r
97 ## SOMETIMES_CONSUMES ## Variable:L"Lang"\r
98 ## SOMETIMES_PRODUCES ## Variable:L"Lang"\r
dc9bd6ed
ZC
99 ## SOMETIMES_CONSUMES ## Variable:L"PK"\r
100 ## SOMETIMES_CONSUMES ## Variable:L"KEK"\r
101 ## SOMETIMES_CONSUMES ## Variable:L"SecureBoot"\r
6036e94d 102 gEfiGlobalVariableGuid\r
fa0737a8 103\r
8d878f84
LG
104 gEfiMemoryOverwriteControlDataGuid ## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl"\r
105 gEfiMemoryOverwriteRequestControlLockGuid ## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControlLock"\r
2f6aa774 106\r
6036e94d
SZ
107 gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event\r
108 gEfiSystemNvDataFvGuid ## CONSUMES ## GUID\r
6036e94d 109 gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event\r
fa0737a8 110 gEdkiiFaultTolerantWriteGuid ## SOMETIMES_CONSUMES ## HOB\r
8d878f84
LG
111\r
112 ## SOMETIMES_CONSUMES ## Variable:L"VarErrorFlag"\r
113 ## SOMETIMES_PRODUCES ## Variable:L"VarErrorFlag"\r
114 gEdkiiVarErrorFlagGuid\r
33a5a666 115\r
dc9bd6ed
ZC
116 ## SOMETIMES_CONSUMES ## Variable:L"db"\r
117 ## SOMETIMES_CONSUMES ## Variable:L"dbx"\r
118 ## SOMETIMES_CONSUMES ## Variable:L"dbt"\r
9d366450
SZ
119 gEfiImageSecurityDatabaseGuid\r
120\r
6bfbb5f0 121[Pcd]\r
6036e94d
SZ
122 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize ## CONSUMES\r
123 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase ## SOMETIMES_CONSUMES\r
124 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 ## CONSUMES\r
125 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize ## CONSUMES\r
fa0737a8 126 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize ## CONSUMES\r
9b4a2032 127 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVolatileVariableSize ## CONSUMES\r
6036e94d
SZ
128 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize ## CONSUMES\r
129 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize ## CONSUMES\r
130 gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize ## CONSUMES\r
4edb1866
SZ
131 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxUserNvVariableSpaceSize ## CONSUMES\r
132 gEfiMdeModulePkgTokenSpaceGuid.PcdBoottimeReservedNvVariableSpaceSize ## CONSUMES\r
0fb5e515 133 gEfiMdeModulePkgTokenSpaceGuid.PcdReclaimVariableSpaceAtEndOfDxe ## CONSUMES\r
7cd69959
SZ
134 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable ## SOMETIMES_CONSUMES\r
135 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved ## SOMETIMES_CONSUMES\r
0fb5e515 136\r
6bfbb5f0 137[FeaturePcd]\r
b2bd493e 138 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics ## CONSUMES # statistic the information of variable.\r
fa0737a8 139 gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate ## CONSUMES # Auto update PlatformLang/Lang\r
8d3a5c82 140\r
141[Depex]\r
8a2d4996 142 TRUE\r
8d3a5c82 143\r
6036e94d
SZ
144[UserExtensions.TianoCore."ExtraFiles"]\r
145 VariableRuntimeDxeExtra.uni\r