]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
MdeModulePkg/FaultTolerantWriteSmmDxe: switch to MM communicate 2
[mirror_edk2.git] / MdeModulePkg / Universal / Variable / RuntimeDxe / VariableSmmRuntimeDxe.inf
CommitLineData
8a2d4996 1## @file\r
fa0737a8 2# Runtime DXE part corresponding to SMM authenticated variable module.\r
8a2d4996 3#\r
fa0737a8
SZ
4# This module installs variable arch protocol and variable write arch protocol to provide\r
5# variable service. This module need work together with SMM authenticated variable module.\r
6036e94d 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
fa0737a8
SZ
11# The whole SMM authentication variable design relies on the integrity of flash part and SMM.\r
12# which is assumed to be protected by platform. All variable code and metadata in flash/SMM Memory\r
13# may not be modified without authorization. If platform fails to protect these resources,\r
14# the authentication service provided in this driver will be broken, and the behavior is undefined.\r
18a7dbbc 15#\r
aab3b9b9 16# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>\r
9d510e61 17# SPDX-License-Identifier: BSD-2-Clause-Patent\r
8a2d4996 18#\r
19##\r
20\r
21[Defines]\r
22 INF_VERSION = 0x00010005\r
23 BASE_NAME = VariableSmmRuntimeDxe\r
6036e94d 24 MODULE_UNI_FILE = VariableSmmRuntimeDxe.uni\r
8a2d4996 25 FILE_GUID = 9F7DCADE-11EA-448a-A46F-76E003657DD1\r
26 MODULE_TYPE = DXE_RUNTIME_DRIVER\r
27 VERSION_STRING = 1.0\r
28 ENTRY_POINT = VariableSmmRuntimeInitialize\r
29\r
30#\r
31# The following information is for reference only and not required by the build tools.\r
32#\r
33# VALID_ARCHITECTURES = IA32 X64\r
34#\r
35# VIRTUAL_ADDRESS_MAP_CALLBACK = VariableAddressChangeEvent\r
36#\r
37\r
38[Sources]\r
39 VariableSmmRuntimeDxe.c\r
00663d04 40 PrivilegePolymorphic.h\r
fa0737a8 41 Measurement.c\r
aab3b9b9
MK
42 VariableParsing.c\r
43 VariableParsing.h\r
fe6142f0 44 Variable.h\r
8a2d4996 45\r
46[Packages]\r
47 MdePkg/MdePkg.dec\r
48 MdeModulePkg/MdeModulePkg.dec\r
8a2d4996 49\r
50[LibraryClasses]\r
51 MemoryAllocationLib\r
fa0737a8 52 BaseLib\r
8a2d4996 53 UefiBootServicesTableLib\r
54 DebugLib\r
55 UefiRuntimeLib\r
56 DxeServicesTableLib\r
57 UefiDriverEntryPoint\r
fa0737a8 58 TpmMeasurementLib\r
8a2d4996 59\r
60[Protocols]\r
6036e94d
SZ
61 gEfiVariableWriteArchProtocolGuid ## PRODUCES\r
62 gEfiVariableArchProtocolGuid ## PRODUCES\r
63 gEfiSmmCommunicationProtocolGuid ## CONSUMES\r
64 ## CONSUMES\r
65 ## NOTIFY\r
66 ## UNDEFINED # Used to do smm communication\r
8a2d4996 67 gEfiSmmVariableProtocolGuid\r
6036e94d 68 gEdkiiVariableLockProtocolGuid ## PRODUCES\r
efb01a10 69 gEdkiiVarCheckProtocolGuid ## PRODUCES\r
8a2d4996 70\r
aab3b9b9
MK
71[FeaturePcd]\r
72 gEfiMdeModulePkgTokenSpaceGuid.PcdEnableVariableRuntimeCache ## CONSUMES\r
73 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics ## CONSUMES\r
74\r
8a2d4996 75[Guids]\r
aab3b9b9
MK
76 ## PRODUCES ## GUID # Signature of Variable store header\r
77 ## CONSUMES ## GUID # Signature of Variable store header\r
78 ## SOMETIMES_PRODUCES ## SystemTable\r
79 gEfiAuthenticatedVariableGuid\r
80\r
81 ## PRODUCES ## GUID # Signature of Variable store header\r
82 ## CONSUMES ## GUID # Signature of Variable store header\r
83 ## SOMETIMES_PRODUCES ## SystemTable\r
84 gEfiVariableGuid\r
85\r
6036e94d
SZ
86 gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event\r
87 gEfiEventExitBootServicesGuid ## CONSUMES ## Event\r
88 ## CONSUMES ## GUID # Locate protocol\r
89 ## CONSUMES ## GUID # Protocol notify\r
d00ed85e 90 gSmmVariableWriteGuid\r
8a2d4996 91\r
fa0737a8
SZ
92 ## SOMETIMES_CONSUMES ## Variable:L"PK"\r
93 ## SOMETIMES_CONSUMES ## Variable:L"KEK"\r
94 ## SOMETIMES_CONSUMES ## Variable:L"SecureBoot"\r
95 gEfiGlobalVariableGuid\r
96\r
dc9bd6ed
ZC
97 ## SOMETIMES_CONSUMES ## Variable:L"db"\r
98 ## SOMETIMES_CONSUMES ## Variable:L"dbx"\r
99 ## SOMETIMES_CONSUMES ## Variable:L"dbt"\r
fa0737a8
SZ
100 gEfiImageSecurityDatabaseGuid\r
101\r
8a2d4996 102[Depex]\r
103 gEfiSmmCommunicationProtocolGuid\r
6036e94d
SZ
104\r
105[UserExtensions.TianoCore."ExtraFiles"]\r
106 VariableSmmRuntimeDxeExtra.uni\r