## @file # Implements ACPI methods for the TCG feature # # This driver implements TPM definition block in ACPI table and registers SMI # callback functions for 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) 2011 - 2018, Intel Corporation. All rights reserved.
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: BSD-2-Clause-Patent # ## [Defines] INF_VERSION = 0x00010005 BASE_NAME = TcgSmm MODULE_UNI_FILE = TcgSmm.uni FILE_GUID = 42293093-76B9-4482-8C02-3BEFDEA9B35D MODULE_TYPE = DXE_SMM_DRIVER PI_SPECIFICATION_VERSION = 0x0001000A VERSION_STRING = 1.0 ENTRY_POINT = InitializeTcgSmm [Sources] TcgSmm.c TcgSmm.h Tpm.asl [Packages] MdePkg/MdePkg.dec MdeModulePkg/MdeModulePkg.dec SecurityPkg/SecurityPkg.dec [LibraryClasses] BaseLib BaseMemoryLib UefiDriverEntryPoint SmmServicesTableLib UefiBootServicesTableLib DebugLib DxeServicesLib TpmMeasurementLib PcdLib TcgPpVendorLib [Guids] ## SOMETIMES_PRODUCES ## Variable:L"PhysicalPresence" ## SOMETIMES_CONSUMES ## Variable:L"PhysicalPresence" ## SOMETIMES_CONSUMES ## Variable:L"PhysicalPresenceFlags" gEfiPhysicalPresenceGuid ## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControl" ## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl" gEfiMemoryOverwriteControlDataGuid gEfiTpmDeviceInstanceTpm12Guid ## PRODUCES ## GUID # TPM device identifier [Protocols] gEfiSmmSwDispatch2ProtocolGuid ## CONSUMES gEfiSmmVariableProtocolGuid ## CONSUMES gEfiAcpiTableProtocolGuid ## CONSUMES [FixedPcd] gEfiSecurityPkgTokenSpaceGuid.PcdSmiCommandIoPort ## CONSUMES [Pcd] gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid ## CONSUMES gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId ## SOMETIMES_CONSUMES [Depex] gEfiAcpiTableProtocolGuid AND gEfiSmmSwDispatch2ProtocolGuid AND gEfiSmmVariableProtocolGuid AND gEfiTcgProtocolGuid [UserExtensions.TianoCore."ExtraFiles"] TcgSmmExtra.uni