2 # Provides ACPI methods for TPM 2.0 support
4 # Spec Compliance Info:
5 # "TCG ACPI Specification Version 1.2 Revision 8"
6 # "Physical Presence Interface Specification Version 1.30 Revision 00.52"
8 # "Errata Version 0.4 for TCG PC Client Platform Physical Presence Interface Specification"
9 # "Platform Reset Attack Mitigation Specification Version 1.00"
10 # TPM2.0 ACPI device object
11 # "TCG PC Client Platform Firmware Profile Specification for TPM Family 2.0 Level 00 Revision 1.03 v51"
13 # "Errata for PC Client Specific Platform Firmware Profile Specification Version 1.0 Revision 1.03"
15 # This driver implements TPM 2.0 definition block in ACPI table and
16 # populates registered SMI callback functions for Tcg2 physical presence
17 # and MemoryClear to handle the requests for ACPI method. It needs to be
18 # used together with Tcg2 MM drivers to exchange information on registered
19 # SwSmiValue and allocated NVS region address.
21 # Caution: This module requires additional review when modified.
22 # This driver will have external input - variable and ACPINvs data in SMM mode.
23 # This external input must be validated carefully to avoid security issue.
25 # Copyright (c) 2015 - 2019, Intel Corporation. All rights reserved.<BR>
26 # Copyright (c) Microsoft Corporation.<BR>
27 # SPDX-License-Identifier: BSD-2-Clause-Patent
32 INF_VERSION = 0x00010005
34 FILE_GUID = 0D4BBF18-C2CC-4C23-BD63-BFDAD4C710D0
35 MODULE_TYPE = DXE_DRIVER
36 PI_SPECIFICATION_VERSION = 0x0001000A
38 ENTRY_POINT = InitializeTcgAcpi
46 MdeModulePkg/MdeModulePkg.dec
47 SecurityPkg/SecurityPkg.dec
53 UefiBootServicesTableLib
58 Tcg2PhysicalPresenceLib
62 gEfiTpmDeviceInstanceTpm20DtpmGuid ## PRODUCES ## GUID # TPM device identifier
63 gTpmNvsMmGuid ## CONSUMES
64 gEdkiiPiSmmCommunicationRegionTableGuid ## CONSUMES
67 gEfiAcpiTableProtocolGuid ## CONSUMES
68 gEfiMmCommunicationProtocolGuid ## CONSUMES
71 gEfiSecurityPkgTokenSpaceGuid.PcdSmiCommandIoPort ## CONSUMES
74 gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid ## CONSUMES
75 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId ## SOMETIMES_CONSUMES
76 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId ## SOMETIMES_CONSUMES
77 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision ## SOMETIMES_CONSUMES
78 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId ## SOMETIMES_CONSUMES
79 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision ## SOMETIMES_CONSUMES
80 gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress ## CONSUMES
81 gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer ## CONSUMES
82 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev ## CONSUMES
83 gEfiSecurityPkgTokenSpaceGuid.PcdTpmPlatformClass ## SOMETIMES_CONSUMES
84 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2CurrentIrqNum ## CONSUMES
85 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2PossibleIrqNumBuf ## CONSUMES
86 gEfiSecurityPkgTokenSpaceGuid.PcdActiveTpmInterfaceType ## CONSUMES
87 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableLaml ## CONSUMES
88 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableLasa ## CONSUMES
91 gEfiAcpiTableProtocolGuid AND
92 gTcg2MmSwSmiRegisteredGuid AND