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 # registers SMI callback functions for Tcg2 physical presence and
17 # MemoryClear to handle the requests from ACPI method.
19 # Caution: This module requires additional review when modified.
20 # This driver will have external input - variable and ACPINvs data in SMM mode.
21 # This external input must be validated carefully to avoid security issue.
23 # Copyright (c) 2015 - 2019, Intel Corporation. All rights reserved.<BR>
24 # This program and the accompanying materials
25 # are licensed and made available under the terms and conditions of the BSD License
26 # which accompanies this distribution. The full text of the license may be found at
27 # http://opensource.org/licenses/bsd-license.php
28 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
29 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
34 INF_VERSION = 0x00010005
36 MODULE_UNI_FILE = Tcg2Smm.uni
37 FILE_GUID = 44A20657-10B8-4049-A148-ACD8812AF257
38 MODULE_TYPE = DXE_SMM_DRIVER
39 PI_SPECIFICATION_VERSION = 0x0001000A
41 ENTRY_POINT = InitializeTcgSmm
50 MdeModulePkg/MdeModulePkg.dec
51 SecurityPkg/SecurityPkg.dec
58 UefiBootServicesTableLib
63 Tcg2PhysicalPresenceLib
67 ## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControl"
68 ## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl"
69 gEfiMemoryOverwriteControlDataGuid
71 gEfiTpmDeviceInstanceTpm20DtpmGuid ## PRODUCES ## GUID # TPM device identifier
74 gEfiSmmSwDispatch2ProtocolGuid ## CONSUMES
75 gEfiSmmVariableProtocolGuid ## CONSUMES
76 gEfiAcpiTableProtocolGuid ## CONSUMES
79 gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid ## CONSUMES
80 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId ## SOMETIMES_CONSUMES
81 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId ## SOMETIMES_CONSUMES
82 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision ## SOMETIMES_CONSUMES
83 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId ## SOMETIMES_CONSUMES
84 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision ## SOMETIMES_CONSUMES
85 gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress ## CONSUMES
86 gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer ## CONSUMES
87 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev ## CONSUMES
88 gEfiSecurityPkgTokenSpaceGuid.PcdTpmPlatformClass ## SOMETIMES_CONSUMES
89 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2CurrentIrqNum ## CONSUMES
90 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2PossibleIrqNumBuf ## CONSUMES
91 gEfiSecurityPkgTokenSpaceGuid.PcdActiveTpmInterfaceType ## CONSUMES
94 gEfiAcpiTableProtocolGuid AND
95 gEfiSmmSwDispatch2ProtocolGuid AND
96 gEfiSmmVariableProtocolGuid AND
99 [UserExtensions.TianoCore."ExtraFiles"]