2021-03-05 05:14:13 +01:00
|
|
|
## @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.<BR>
|
|
|
|
# Copyright (c) Microsoft Corporation.<BR>
|
|
|
|
# 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
|
2021-03-05 05:14:15 +01:00
|
|
|
MmUnblockMemoryLib
|
2021-03-05 05:14:13 +01:00
|
|
|
|
|
|
|
[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
|