]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
MdeModulePkg: Connect VariablePolicy business logic to VariableServices
[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
b6490426 17# Copyright (c) Microsoft Corporation.<BR>\r
9d510e61 18# SPDX-License-Identifier: BSD-2-Clause-Patent\r
8a2d4996 19#\r
20##\r
21\r
22[Defines]\r
23 INF_VERSION = 0x00010005\r
24 BASE_NAME = VariableSmmRuntimeDxe\r
6036e94d 25 MODULE_UNI_FILE = VariableSmmRuntimeDxe.uni\r
8a2d4996 26 FILE_GUID = 9F7DCADE-11EA-448a-A46F-76E003657DD1\r
27 MODULE_TYPE = DXE_RUNTIME_DRIVER\r
28 VERSION_STRING = 1.0\r
29 ENTRY_POINT = VariableSmmRuntimeInitialize\r
30\r
31#\r
32# The following information is for reference only and not required by the build tools.\r
33#\r
34# VALID_ARCHITECTURES = IA32 X64\r
35#\r
36# VIRTUAL_ADDRESS_MAP_CALLBACK = VariableAddressChangeEvent\r
37#\r
38\r
39[Sources]\r
40 VariableSmmRuntimeDxe.c\r
00663d04 41 PrivilegePolymorphic.h\r
fa0737a8 42 Measurement.c\r
aab3b9b9
MK
43 VariableParsing.c\r
44 VariableParsing.h\r
fe6142f0 45 Variable.h\r
b6490426 46 VariablePolicySmmDxe.c\r
8a2d4996 47\r
48[Packages]\r
49 MdePkg/MdePkg.dec\r
50 MdeModulePkg/MdeModulePkg.dec\r
8a2d4996 51\r
52[LibraryClasses]\r
53 MemoryAllocationLib\r
fa0737a8 54 BaseLib\r
8a2d4996 55 UefiBootServicesTableLib\r
56 DebugLib\r
57 UefiRuntimeLib\r
58 DxeServicesTableLib\r
59 UefiDriverEntryPoint\r
fa0737a8 60 TpmMeasurementLib\r
b6490426
BB
61 SafeIntLib\r
62 PcdLib\r
8a2d4996 63\r
64[Protocols]\r
6036e94d
SZ
65 gEfiVariableWriteArchProtocolGuid ## PRODUCES\r
66 gEfiVariableArchProtocolGuid ## PRODUCES\r
be4e0cfb 67 gEfiMmCommunication2ProtocolGuid ## CONSUMES\r
6036e94d
SZ
68 ## CONSUMES\r
69 ## NOTIFY\r
70 ## UNDEFINED # Used to do smm communication\r
8a2d4996 71 gEfiSmmVariableProtocolGuid\r
6036e94d 72 gEdkiiVariableLockProtocolGuid ## PRODUCES\r
efb01a10 73 gEdkiiVarCheckProtocolGuid ## PRODUCES\r
b6490426 74 gEdkiiVariablePolicyProtocolGuid ## PRODUCES\r
8a2d4996 75\r
aab3b9b9
MK
76[FeaturePcd]\r
77 gEfiMdeModulePkgTokenSpaceGuid.PcdEnableVariableRuntimeCache ## CONSUMES\r
78 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics ## CONSUMES\r
79\r
b6490426
BB
80[Pcd]\r
81 gEfiMdeModulePkgTokenSpaceGuid.PcdAllowVariablePolicyEnforcementDisable ## CONSUMES\r
82\r
8a2d4996 83[Guids]\r
aab3b9b9
MK
84 ## PRODUCES ## GUID # Signature of Variable store header\r
85 ## CONSUMES ## GUID # Signature of Variable store header\r
86 ## SOMETIMES_PRODUCES ## SystemTable\r
87 gEfiAuthenticatedVariableGuid\r
88\r
89 ## PRODUCES ## GUID # Signature of Variable store header\r
90 ## CONSUMES ## GUID # Signature of Variable store header\r
91 ## SOMETIMES_PRODUCES ## SystemTable\r
92 gEfiVariableGuid\r
93\r
6036e94d
SZ
94 gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event\r
95 gEfiEventExitBootServicesGuid ## CONSUMES ## Event\r
96 ## CONSUMES ## GUID # Locate protocol\r
97 ## CONSUMES ## GUID # Protocol notify\r
d00ed85e 98 gSmmVariableWriteGuid\r
8a2d4996 99\r
fa0737a8
SZ
100 ## SOMETIMES_CONSUMES ## Variable:L"PK"\r
101 ## SOMETIMES_CONSUMES ## Variable:L"KEK"\r
102 ## SOMETIMES_CONSUMES ## Variable:L"SecureBoot"\r
103 gEfiGlobalVariableGuid\r
104\r
dc9bd6ed
ZC
105 ## SOMETIMES_CONSUMES ## Variable:L"db"\r
106 ## SOMETIMES_CONSUMES ## Variable:L"dbx"\r
107 ## SOMETIMES_CONSUMES ## Variable:L"dbt"\r
fa0737a8
SZ
108 gEfiImageSecurityDatabaseGuid\r
109\r
b6490426
BB
110 gVarCheckPolicyLibMmiHandlerGuid\r
111 gEfiEndOfDxeEventGroupGuid\r
112\r
8a2d4996 113[Depex]\r
be4e0cfb 114 gEfiMmCommunication2ProtocolGuid\r
6036e94d
SZ
115\r
116[UserExtensions.TianoCore."ExtraFiles"]\r
117 VariableSmmRuntimeDxeExtra.uni\r