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