1 ## @file 2 # Provides ACPI metholds for TPM 2.0 support 3 # 4 # This driver implements TPM 2.0 definition block in ACPI table and 5 # registers SMI callback functions for TrEE physical presence and 6 # MemoryClear to handle the requests from ACPI method. 7 # 8 # Caution: This module requires additional review when modified. 9 # This driver will have external input - variable and ACPINvs data in SMM mode. 10 # This external input must be validated carefully to avoid security issue. 11 # 12 # Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR> 13 # This program and the accompanying materials 14 # are licensed and made available under the terms and conditions of the BSD License 15 # which accompanies this distribution. The full text of the license may be found at 16 # http://opensource.org/licenses/bsd-license.php 17 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 18 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 19 # 20 ## 21 22 [Defines] 23 INF_VERSION = 0x00010005 24 BASE_NAME = TrEESmm 25 MODULE_UNI_FILE = TrEESmm.uni 26 FILE_GUID = 114B7105-6CC9-453c-BADC-16DF227BB4EF 27 MODULE_TYPE = DXE_SMM_DRIVER 28 PI_SPECIFICATION_VERSION = 0x0001000A 29 VERSION_STRING = 1.0 30 ENTRY_POINT = InitializeTcgSmm 31 32 [Sources] 33 TrEESmm.h 34 TrEESmm.c 35 Tpm.asl 36 37 [Packages] 38 MdePkg/MdePkg.dec 39 MdeModulePkg/MdeModulePkg.dec 40 SecurityPkg/SecurityPkg.dec 41 42 [LibraryClasses] 43 BaseLib 44 BaseMemoryLib 45 UefiDriverEntryPoint 46 SmmServicesTableLib 47 UefiBootServicesTableLib 48 DebugLib 49 DxeServicesLib 50 TpmMeasurementLib 51 Tpm2DeviceLib 52 TrEEPpVendorLib 53 54 [Guids] 55 ## SOMETIMES_PRODUCES ## Variable:L"PhysicalPresence" 56 ## SOMETIMES_CONSUMES ## Variable:L"PhysicalPresence" 57 ## SOMETIMES_CONSUMES ## Variable:L"PhysicalPresenceFlags" 58 gEfiTrEEPhysicalPresenceGuid 59 60 ## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControl" 61 ## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl" 62 gEfiMemoryOverwriteControlDataGuid 63 64 gEfiTpmDeviceInstanceTpm20DtpmGuid ## PRODUCES ## GUID # TPM device identifier 65 66 [Protocols] 67 gEfiSmmSwDispatch2ProtocolGuid ## CONSUMES 68 gEfiSmmVariableProtocolGuid ## CONSUMES 69 gEfiAcpiTableProtocolGuid ## CONSUMES 70 71 [Pcd] 72 gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid ## CONSUMES 73 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId ## SOMETIMES_CONSUMES 74 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId ## SOMETIMES_CONSUMES 75 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision ## SOMETIMES_CONSUMES 76 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId ## SOMETIMES_CONSUMES 77 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision ## SOMETIMES_CONSUMES 78 79 [Depex] 80 gEfiAcpiTableProtocolGuid AND 81 gEfiSmmSwDispatch2ProtocolGuid AND 82 gEfiSmmVariableProtocolGuid 83 84 [UserExtensions.TianoCore."ExtraFiles"] 85 TrEESmmExtra.uni