]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
MdeModulePkg: VariableSmmRuntimeDxe: Added request unblock memory interface
[mirror_edk2.git] / MdeModulePkg / Universal / Variable / RuntimeDxe / VariableSmmRuntimeDxe.inf
... / ...
CommitLineData
1## @file\r
2# Runtime DXE part corresponding to SMM authenticated variable module.\r
3#\r
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
6#\r
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# 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
15#\r
16# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>\r
17# Copyright (c) Microsoft Corporation.<BR>\r
18# SPDX-License-Identifier: BSD-2-Clause-Patent\r
19#\r
20##\r
21\r
22[Defines]\r
23 INF_VERSION = 0x00010005\r
24 BASE_NAME = VariableSmmRuntimeDxe\r
25 MODULE_UNI_FILE = VariableSmmRuntimeDxe.uni\r
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
41 PrivilegePolymorphic.h\r
42 Measurement.c\r
43 VariableParsing.c\r
44 VariableParsing.h\r
45 Variable.h\r
46 VariablePolicySmmDxe.c\r
47\r
48[Packages]\r
49 MdePkg/MdePkg.dec\r
50 MdeModulePkg/MdeModulePkg.dec\r
51\r
52[LibraryClasses]\r
53 MemoryAllocationLib\r
54 BaseLib\r
55 UefiBootServicesTableLib\r
56 DebugLib\r
57 UefiRuntimeLib\r
58 DxeServicesTableLib\r
59 UefiDriverEntryPoint\r
60 TpmMeasurementLib\r
61 SafeIntLib\r
62 PcdLib\r
63 MmUnblockMemoryLib\r
64\r
65[Protocols]\r
66 gEfiVariableWriteArchProtocolGuid ## PRODUCES\r
67 gEfiVariableArchProtocolGuid ## PRODUCES\r
68 gEfiMmCommunication2ProtocolGuid ## CONSUMES\r
69 ## CONSUMES\r
70 ## NOTIFY\r
71 ## UNDEFINED # Used to do smm communication\r
72 gEfiSmmVariableProtocolGuid\r
73 gEdkiiVariableLockProtocolGuid ## PRODUCES\r
74 gEdkiiVarCheckProtocolGuid ## PRODUCES\r
75 gEdkiiVariablePolicyProtocolGuid ## PRODUCES\r
76\r
77[FeaturePcd]\r
78 gEfiMdeModulePkgTokenSpaceGuid.PcdEnableVariableRuntimeCache ## CONSUMES\r
79 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics ## CONSUMES\r
80\r
81[Pcd]\r
82 gEfiMdeModulePkgTokenSpaceGuid.PcdAllowVariablePolicyEnforcementDisable ## CONSUMES\r
83\r
84[Guids]\r
85 ## PRODUCES ## GUID # Signature of Variable store header\r
86 ## CONSUMES ## GUID # Signature of Variable store header\r
87 ## SOMETIMES_PRODUCES ## SystemTable\r
88 gEfiAuthenticatedVariableGuid\r
89\r
90 ## PRODUCES ## GUID # Signature of Variable store header\r
91 ## CONSUMES ## GUID # Signature of Variable store header\r
92 ## SOMETIMES_PRODUCES ## SystemTable\r
93 gEfiVariableGuid\r
94\r
95 gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event\r
96 gEfiEventExitBootServicesGuid ## CONSUMES ## Event\r
97 ## CONSUMES ## GUID # Locate protocol\r
98 ## CONSUMES ## GUID # Protocol notify\r
99 gSmmVariableWriteGuid\r
100\r
101 ## SOMETIMES_CONSUMES ## Variable:L"PK"\r
102 ## SOMETIMES_CONSUMES ## Variable:L"KEK"\r
103 ## SOMETIMES_CONSUMES ## Variable:L"SecureBoot"\r
104 gEfiGlobalVariableGuid\r
105\r
106 ## SOMETIMES_CONSUMES ## Variable:L"db"\r
107 ## SOMETIMES_CONSUMES ## Variable:L"dbx"\r
108 ## SOMETIMES_CONSUMES ## Variable:L"dbt"\r
109 gEfiImageSecurityDatabaseGuid\r
110\r
111 gVarCheckPolicyLibMmiHandlerGuid\r
112 gEfiEndOfDxeEventGroupGuid\r
113\r
114[Depex]\r
115 gEfiMmCommunication2ProtocolGuid\r
116\r
117[UserExtensions.TianoCore."ExtraFiles"]\r
118 VariableSmmRuntimeDxeExtra.uni\r