## @file | |
# Provides ACPI methods for TPM 2.0 support | |
# | |
# Spec Compliance Info: | |
# "TCG ACPI Specification Version 1.2 Revision 8" | |
# "Physical Presence Interface Specification Version 1.30 Revision 00.52" | |
# along with | |
# "Errata Version 0.4 for TCG PC Client Platform Physical Presence Interface Specification" | |
# "Platform Reset Attack Mitigation Specification Version 1.00" | |
# TPM2.0 ACPI device object | |
# "TCG PC Client Platform Firmware Profile Specification for TPM Family 2.0 Level 00 Revision 1.03 v51" | |
# along with | |
# "Errata for PC Client Specific Platform Firmware Profile Specification Version 1.0 Revision 1.03" | |
# | |
# This driver implements TPM 2.0 definition block in ACPI table and | |
# registers SMI callback functions for Tcg2 physical presence and | |
# MemoryClear to handle the requests from ACPI method. | |
# | |
# Caution: This module requires additional review when modified. | |
# This driver will have external input - variable and ACPINvs data in SMM mode. | |
# This external input must be validated carefully to avoid security issue. | |
# | |
# Copyright (c) 2015 - 2019, Intel Corporation. All rights reserved.<BR> | |
# Copyright (c) Microsoft Corporation.<BR> | |
# SPDX-License-Identifier: BSD-2-Clause-Patent | |
# | |
## | |
[Defines] | |
INF_VERSION = 0x00010005 | |
BASE_NAME = Tcg2StandaloneMm | |
FILE_GUID = D40F321F-5349-4724-B667-131670587861 | |
MODULE_TYPE = MM_STANDALONE | |
PI_SPECIFICATION_VERSION = 0x00010032 | |
VERSION_STRING = 1.0 | |
ENTRY_POINT = InitializeTcgStandaloneMm | |
[Sources] | |
Tcg2Smm.h | |
Tcg2Smm.c | |
Tcg2StandaloneMm.c | |
[Packages] | |
MdePkg/MdePkg.dec | |
MdeModulePkg/MdeModulePkg.dec | |
SecurityPkg/SecurityPkg.dec | |
StandaloneMmPkg/StandaloneMmPkg.dec | |
[LibraryClasses] | |
BaseLib | |
BaseMemoryLib | |
StandaloneMmDriverEntryPoint | |
MmServicesTableLib | |
DebugLib | |
Tcg2PhysicalPresenceLib | |
PcdLib | |
MemLib | |
[Guids] | |
## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControl" | |
## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl" | |
gEfiMemoryOverwriteControlDataGuid | |
gEfiTpmDeviceInstanceTpm20DtpmGuid ## PRODUCES ## GUID # TPM device identifier | |
gTpmNvsMmGuid ## CONSUMES | |
[Protocols] | |
gEfiSmmSwDispatch2ProtocolGuid ## CONSUMES | |
gEfiSmmVariableProtocolGuid ## CONSUMES | |
gEfiMmReadyToLockProtocolGuid ## CONSUMES | |
[Pcd] | |
gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid ## CONSUMES | |
[Depex] | |
gEfiSmmSwDispatch2ProtocolGuid AND | |
gEfiSmmVariableProtocolGuid |