# Produces Tcg2 protocol and measure boot environment\r
#\r
# Spec Compliance Info:\r
-# "TCG PC Client Platform Firmware Profile Specification for TPM Family 2.0 Level 00 Revision 00.21"\r
+# "TCG PC Client Platform Firmware Profile Specification for TPM Family 2.0 Level 00 Revision 1.03 v51"\r
# along with\r
-# "Errata for PC Client Specific Platform Firmware Profile Specification Version 1.0 Revision 0.21"\r
+# "Errata for PC Client Specific Platform Firmware Profile Specification Version 1.0 Revision 1.03"\r
# "TCG EFI Protocol Specification" "Family 2.0" "Level 00 Revision 00.13"\r
+# along with\r
+# "Errata Version 0.5 for TCG EFI Protocol Specification"\r
#\r
# This module will produce Tcg2 protocol and measure boot environment.\r
#\r
# This external input must be validated carefully to avoid security issue like\r
# buffer overflow, integer overflow.\r
#\r
-# Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+# Copyright (c) 2015 - 2019, Intel Corporation. All rights reserved.<BR>\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
##\r
\r
#\r
# The following information is for reference only and not required by the build tools.\r
#\r
-# VALID_ARCHITECTURES = IA32 X64 IPF\r
+# VALID_ARCHITECTURES = IA32 X64\r
#\r
\r
[Sources]\r
## SOMETIMES_CONSUMES ## Variable:L"db"\r
## SOMETIMES_CONSUMES ## Variable:L"dbx"\r
gEfiImageSecurityDatabaseGuid\r
- \r
+\r
gTcgEventEntryHobGuid ## SOMETIMES_CONSUMES ## HOB\r
gTpmErrorHobGuid ## SOMETIMES_CONSUMES ## HOB\r
gEfiEventExitBootServicesGuid ## CONSUMES ## Event\r
\r
gTcgEvent2EntryHobGuid ## SOMETIMES_CONSUMES ## HOB\r
gTpm2StartupLocalityHobGuid ## SOMETIMES_CONSUMES ## HOB\r
+ gTcg800155PlatformIdEventHobGuid ## SOMETIMES_CONSUMES ## HOB\r
\r
[Protocols]\r
gEfiTcg2ProtocolGuid ## PRODUCES\r
gEfiTcg2FinalEventsTableGuid ## PRODUCES\r
- gEfiAcpiTableProtocolGuid ## NOTIFY\r
gEfiMpServiceProtocolGuid ## SOMETIMES_CONSUMES\r
gEfiVariableWriteArchProtocolGuid ## NOTIFY\r
gEfiResetNotificationProtocolGuid ## CONSUMES\r
gEfiSecurityPkgTokenSpaceGuid.PcdTpmPlatformClass ## SOMETIMES_CONSUMES\r
gEfiSecurityPkgTokenSpaceGuid.PcdFirmwareDebuggerInitialized ## SOMETIMES_CONSUMES\r
gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid ## CONSUMES\r
- gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress ## SOMETIMES_CONSUMES\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId ## SOMETIMES_CONSUMES\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId ## SOMETIMES_CONSUMES\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision ## SOMETIMES_CONSUMES\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId ## SOMETIMES_CONSUMES\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision ## SOMETIMES_CONSUMES\r
gEfiSecurityPkgTokenSpaceGuid.PcdStatusCodeSubClassTpmDevice ## SOMETIMES_CONSUMES\r
gEfiSecurityPkgTokenSpaceGuid.PcdTcg2HashAlgorithmBitmap ## CONSUMES\r
gEfiSecurityPkgTokenSpaceGuid.PcdTcg2NumberOfPCRBanks ## CONSUMES\r
gEfiSecurityPkgTokenSpaceGuid.PcdTcgLogAreaMinLen ## CONSUMES\r
gEfiSecurityPkgTokenSpaceGuid.PcdTcg2FinalLogAreaLen ## CONSUMES\r
+ gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev ## CONSUMES\r
+ gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableLaml ## PRODUCES\r
+ gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableLasa ## PRODUCES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdTcgPfpMeasurementRevision ## CONSUMES\r
\r
[Depex]\r
- TRUE\r
+ # According to PcdTpm2AcpiTableRev definition in SecurityPkg.dec\r
+ # This PCD should be configured at DynamicHii or DynamicHiiEx.\r
+ # So, this PCD read operation depends on GetVariable service.\r
+ # Add VariableArch protocol dependency to make sure PCD read works.\r
+ gEfiVariableArchProtocolGuid\r
\r
[UserExtensions.TianoCore."ExtraFiles"]\r
Tcg2DxeExtra.uni\r