REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3515 In V4: Fixed patch format and uncrustify cleanup In V3: Cleaned up comments, debug prints and updated patch to use the new debug ENUM definitions. - Replaced EFI_D_INFO with DEBUG_INFO. - Replaced EFI_D_VERBOSE with DEBUG_VERBOSE. In V2: Add case to RegisterHashInterfaceLib logic RegisterHashInterfaceLib needs to correctly handle registering the HashLib instance supported algorithm bitmap when PcdTpm2HashMask is set to zero. The current implementation of SyncPcrAllocationsAndPcrMask() triggers PCR bank reallocation only based on the intersection between TpmActivePcrBanks and PcdTpm2HashMask. When the software HashLibBaseCryptoRouter solution is used, no PCR bank reallocation is occurring based on the supported hashing algorithms registered by the HashLib instances. Need to have an additional check for the intersection between the TpmActivePcrBanks and the PcdTcg2HashAlgorithmBitmap populated by the HashLib instances present on the platform's BIOS. Signed-off-by: Rodrigo Gonzalez del Cueto <rodrigo.gonzalez.del.cueto@intel.com> Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
97 lines
4.0 KiB
INI
97 lines
4.0 KiB
INI
## @file
|
|
# Initializes TPM 2.0 device and measure FVs in PEI phase
|
|
#
|
|
# Spec Compliance Info:
|
|
# "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 module will initialize TPM device, measure reported FVs and BIOS version.
|
|
#
|
|
# Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved.<BR>
|
|
# Copyright (c) 2017, Microsoft Corporation. All rights reserved. <BR>
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = Tcg2Pei
|
|
MODULE_UNI_FILE = Tcg2Pei.uni
|
|
FILE_GUID = A0C98B77-CBA5-4BB8-993B-4AF6CE33ECE4
|
|
MODULE_TYPE = PEIM
|
|
VERSION_STRING = 1.0
|
|
ENTRY_POINT = PeimEntryMA
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64 EBC
|
|
#
|
|
# [BootMode]
|
|
# S3_RESUME ## SOMETIMES_CONSUMES
|
|
#
|
|
|
|
[Sources]
|
|
Tcg2Pei.c
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
SecurityPkg/SecurityPkg.dec
|
|
|
|
[LibraryClasses]
|
|
HobLib
|
|
PeimEntryPoint
|
|
PeiServicesLib
|
|
BaseMemoryLib
|
|
DebugLib
|
|
Tpm2CommandLib
|
|
PeiServicesTablePointerLib
|
|
Tpm2DeviceLib
|
|
HashLib
|
|
PerformanceLib
|
|
MemoryAllocationLib
|
|
ReportStatusCodeLib
|
|
ResetSystemLib
|
|
PrintLib
|
|
|
|
[Guids]
|
|
gTcgEventEntryHobGuid ## PRODUCES ## HOB
|
|
gTpmErrorHobGuid ## SOMETIMES_PRODUCES ## HOB
|
|
gMeasuredFvHobGuid ## PRODUCES ## HOB
|
|
gTcgEvent2EntryHobGuid ## PRODUCES ## HOB
|
|
gEfiTpmDeviceInstanceNoneGuid ## SOMETIMES_PRODUCES ## GUID # TPM device identifier
|
|
gEfiTpmDeviceInstanceTpm12Guid ## SOMETIMES_PRODUCES ## GUID # TPM device identifier
|
|
gEdkiiMigratedFvInfoGuid ## SOMETIMES_CONSUMES ## HOB
|
|
|
|
[Ppis]
|
|
gEfiPeiFirmwareVolumeInfoPpiGuid ## SOMETIMES_CONSUMES ## NOTIFY
|
|
gEfiPeiFirmwareVolumeInfo2PpiGuid ## SOMETIMES_CONSUMES ## NOTIFY
|
|
gEfiPeiFirmwareVolumeInfoMeasurementExcludedPpiGuid ## SOMETIMES_CONSUMES
|
|
gPeiTpmInitializedPpiGuid ## SOMETIMES_PRODUCES
|
|
gPeiTpmInitializationDonePpiGuid ## PRODUCES
|
|
gEfiEndOfPeiSignalPpiGuid ## SOMETIMES_CONSUMES ## NOTIFY
|
|
gEdkiiPeiFirmwareVolumeInfoPrehashedFvPpiGuid ## SOMETIMES_CONSUMES
|
|
gEdkiiTcgPpiGuid ## PRODUCES
|
|
|
|
[Pcd]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString ## SOMETIMES_CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdTcgPfpMeasurementRevision ## CONSUMES
|
|
gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid ## CONSUMES
|
|
gEfiSecurityPkgTokenSpaceGuid.PcdTpm2InitializationPolicy ## CONSUMES
|
|
gEfiSecurityPkgTokenSpaceGuid.PcdTpm2SelfTestPolicy ## SOMETIMES_CONSUMES
|
|
gEfiSecurityPkgTokenSpaceGuid.PcdTpm2ScrtmPolicy ## CONSUMES
|
|
gEfiSecurityPkgTokenSpaceGuid.PcdStatusCodeSubClassTpmDevice ## SOMETIMES_CONSUMES
|
|
## SOMETIMES_CONSUMES
|
|
## SOMETIMES_PRODUCES
|
|
gEfiSecurityPkgTokenSpaceGuid.PcdTpm2HashMask
|
|
gEfiSecurityPkgTokenSpaceGuid.PcdTcg2HashAlgorithmBitmap ## CONSUMES
|
|
|
|
[Depex]
|
|
gEfiPeiMasterBootModePpiGuid AND
|
|
gEfiTpmDeviceSelectedGuid
|
|
|
|
[UserExtensions.TianoCore."ExtraFiles"]
|
|
Tcg2PeiExtra.uni
|