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