## @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.
# 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