2 # Runtime DXE part corresponding to SMM authenticated variable module.
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.
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.
16 # Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
17 # SPDX-License-Identifier: BSD-2-Clause-Patent
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
28 ENTRY_POINT = VariableSmmRuntimeInitialize
31 # The following information is for reference only and not required by the build tools.
33 # VALID_ARCHITECTURES = IA32 X64
35 # VIRTUAL_ADDRESS_MAP_CALLBACK = VariableAddressChangeEvent
39 VariableSmmRuntimeDxe.c
40 PrivilegePolymorphic.h
45 MdeModulePkg/MdeModulePkg.dec
50 UefiBootServicesTableLib
58 gEfiVariableWriteArchProtocolGuid ## PRODUCES
59 gEfiVariableArchProtocolGuid ## PRODUCES
60 gEfiSmmCommunicationProtocolGuid ## CONSUMES
63 ## UNDEFINED # Used to do smm communication
64 gEfiSmmVariableProtocolGuid
65 gEdkiiVariableLockProtocolGuid ## PRODUCES
66 gEdkiiVarCheckProtocolGuid ## PRODUCES
69 gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event
70 gEfiEventExitBootServicesGuid ## CONSUMES ## Event
71 ## CONSUMES ## GUID # Locate protocol
72 ## CONSUMES ## GUID # Protocol notify
75 ## SOMETIMES_CONSUMES ## Variable:L"PK"
76 ## SOMETIMES_CONSUMES ## Variable:L"KEK"
77 ## SOMETIMES_CONSUMES ## Variable:L"SecureBoot"
78 gEfiGlobalVariableGuid
80 ## SOMETIMES_CONSUMES ## Variable:L"db"
81 ## SOMETIMES_CONSUMES ## Variable:L"dbx"
82 ## SOMETIMES_CONSUMES ## Variable:L"dbt"
83 gEfiImageSecurityDatabaseGuid
86 gEfiSmmCommunicationProtocolGuid
88 [UserExtensions.TianoCore."ExtraFiles"]
89 VariableSmmRuntimeDxeExtra.uni