## @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 # populates registered SMI callback functions for Tcg2 physical presence # and MemoryClear to handle the requests for ACPI method. It needs to be # used together with Tcg2 MM drivers to exchange information on registered # SwSmiValue and allocated NVS region address. # # 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.
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: BSD-2-Clause-Patent # ## [Defines] INF_VERSION = 0x00010005 BASE_NAME = Tcg2Acpi FILE_GUID = 0D4BBF18-C2CC-4C23-BD63-BFDAD4C710D0 MODULE_TYPE = DXE_DRIVER PI_SPECIFICATION_VERSION = 0x0001000A VERSION_STRING = 1.0 ENTRY_POINT = InitializeTcgAcpi [Sources] Tcg2Acpi.c Tpm.asl [Packages] MdePkg/MdePkg.dec MdeModulePkg/MdeModulePkg.dec SecurityPkg/SecurityPkg.dec [LibraryClasses] BaseLib BaseMemoryLib UefiDriverEntryPoint UefiBootServicesTableLib DebugLib DxeServicesLib TpmMeasurementLib Tpm2CommandLib Tcg2PhysicalPresenceLib PcdLib MmUnblockMemoryLib [Guids] gEfiTpmDeviceInstanceTpm20DtpmGuid ## PRODUCES ## GUID # TPM device identifier gTpmNvsMmGuid ## CONSUMES gEdkiiPiSmmCommunicationRegionTableGuid ## CONSUMES [Protocols] gEfiAcpiTableProtocolGuid ## CONSUMES gEfiMmCommunicationProtocolGuid ## CONSUMES [FixedPcd] gEfiSecurityPkgTokenSpaceGuid.PcdSmiCommandIoPort ## 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 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableLaml ## CONSUMES gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableLasa ## CONSUMES [Depex] gEfiAcpiTableProtocolGuid AND gTcg2MmSwSmiRegisteredGuid AND gEfiTcg2ProtocolGuid