## @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> | |
# SPDX-License-Identifier: BSD-2-Clause-Patent | |
# | |
## | |
[Defines] | |
INF_VERSION = 0x00010005 | |
BASE_NAME = Tcg2Smm | |
MODULE_UNI_FILE = Tcg2Smm.uni | |
FILE_GUID = 44A20657-10B8-4049-A148-ACD8812AF257 | |
MODULE_TYPE = DXE_SMM_DRIVER | |
PI_SPECIFICATION_VERSION = 0x0001000A | |
VERSION_STRING = 1.0 | |
ENTRY_POINT = InitializeTcgSmm | |
[Sources] | |
Tcg2Smm.h | |
Tcg2Smm.c | |
Tpm.asl | |
[Packages] | |
MdePkg/MdePkg.dec | |
MdeModulePkg/MdeModulePkg.dec | |
SecurityPkg/SecurityPkg.dec | |
[LibraryClasses] | |
BaseLib | |
BaseMemoryLib | |
UefiDriverEntryPoint | |
SmmServicesTableLib | |
UefiBootServicesTableLib | |
DebugLib | |
DxeServicesLib | |
TpmMeasurementLib | |
Tpm2CommandLib | |
Tcg2PhysicalPresenceLib | |
PcdLib | |
[Guids] | |
## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControl" | |
## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl" | |
gEfiMemoryOverwriteControlDataGuid | |
gEfiTpmDeviceInstanceTpm20DtpmGuid ## PRODUCES ## GUID # TPM device identifier | |
[Protocols] | |
gEfiSmmSwDispatch2ProtocolGuid ## CONSUMES | |
gEfiSmmVariableProtocolGuid ## CONSUMES | |
gEfiAcpiTableProtocolGuid ## CONSUMES | |
[Pcd] | |
gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid ## CONSUMES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId ## SOMETIMES_CONSUMES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId ## SOMETIMES_CONSUMES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision ## SOMETIMES_CONSUMES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId ## SOMETIMES_CONSUMES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision ## SOMETIMES_CONSUMES | |
gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress ## CONSUMES | |
gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer ## CONSUMES | |
gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev ## CONSUMES | |
gEfiSecurityPkgTokenSpaceGuid.PcdTpmPlatformClass ## SOMETIMES_CONSUMES | |
gEfiSecurityPkgTokenSpaceGuid.PcdTpm2CurrentIrqNum ## CONSUMES | |
gEfiSecurityPkgTokenSpaceGuid.PcdTpm2PossibleIrqNumBuf ## CONSUMES | |
gEfiSecurityPkgTokenSpaceGuid.PcdActiveTpmInterfaceType ## CONSUMES | |
[Depex] | |
gEfiAcpiTableProtocolGuid AND | |
gEfiSmmSwDispatch2ProtocolGuid AND | |
gEfiSmmVariableProtocolGuid AND | |
gEfiTcg2ProtocolGuid | |
[UserExtensions.TianoCore."ExtraFiles"] | |
Tcg2SmmExtra.uni |