2 # Produces Tcg2 protocol and measure boot environment
4 # Spec Compliance Info:
5 # "TCG PC Client Platform Firmware Profile Specification for TPM Family 2.0 Level 00 Revision 1.03 v51"
7 # "Errata for PC Client Specific Platform Firmware Profile Specification Version 1.0 Revision 1.03"
8 # "TCG EFI Protocol Specification" "Family 2.0" "Level 00 Revision 00.13"
10 # "Errata Version 0.5 for TCG EFI Protocol Specification"
12 # This module will produce Tcg2 protocol and measure boot environment.
14 # Caution: This module requires additional review when modified.
15 # This driver will have external input - PE/COFF image.
16 # This external input must be validated carefully to avoid security issue like
17 # buffer overflow, integer overflow.
19 # Copyright (c) 2015 - 2019, Intel Corporation. All rights reserved.<BR>
20 # SPDX-License-Identifier: BSD-2-Clause-Patent
25 INF_VERSION = 0x00010005
27 MODULE_UNI_FILE = Tcg2Dxe.uni
28 FILE_GUID = FDFF263D-5F68-4591-87BA-B768F445A9AF
29 MODULE_TYPE = DXE_DRIVER
31 ENTRY_POINT = DriverEntry
34 # The following information is for reference only and not required by the build tools.
36 # VALID_ARCHITECTURES = IA32 X64
45 MdeModulePkg/MdeModulePkg.dec
46 SecurityPkg/SecurityPkg.dec
47 CryptoPkg/CryptoPkg.dec
52 UefiBootServicesTableLib
55 UefiRuntimeServicesTableLib
65 Tcg2PhysicalPresenceLib
69 ## SOMETIMES_CONSUMES ## Variable:L"SecureBoot"
70 ## SOMETIMES_CONSUMES ## Variable:L"PK"
71 ## SOMETIMES_CONSUMES ## Variable:L"KEK"
72 ## SOMETIMES_CONSUMES ## Variable:L"BootXXXX"
73 gEfiGlobalVariableGuid
75 ## SOMETIMES_CONSUMES ## Variable:L"db"
76 ## SOMETIMES_CONSUMES ## Variable:L"dbx"
77 gEfiImageSecurityDatabaseGuid
79 gTcgEventEntryHobGuid ## SOMETIMES_CONSUMES ## HOB
80 gTpmErrorHobGuid ## SOMETIMES_CONSUMES ## HOB
81 gEfiEventExitBootServicesGuid ## CONSUMES ## Event
82 gEventExitBootServicesFailedGuid ## SOMETIMES_CONSUMES ## Event
83 gEfiTpmDeviceInstanceNoneGuid ## SOMETIMES_CONSUMES ## GUID # TPM device identifier
84 gEfiTpmDeviceInstanceTpm12Guid ## SOMETIMES_CONSUMES ## GUID # TPM device identifier
86 gTcgEvent2EntryHobGuid ## SOMETIMES_CONSUMES ## HOB
87 gTpm2StartupLocalityHobGuid ## SOMETIMES_CONSUMES ## HOB
88 gTcg800155PlatformIdEventHobGuid ## SOMETIMES_CONSUMES ## HOB
91 gEfiTcg2ProtocolGuid ## PRODUCES
92 gEfiTcg2FinalEventsTableGuid ## PRODUCES
93 gEfiMpServiceProtocolGuid ## SOMETIMES_CONSUMES
94 gEfiVariableWriteArchProtocolGuid ## NOTIFY
95 gEfiResetNotificationProtocolGuid ## CONSUMES
98 gEfiSecurityPkgTokenSpaceGuid.PcdTpmPlatformClass ## SOMETIMES_CONSUMES
99 gEfiSecurityPkgTokenSpaceGuid.PcdFirmwareDebuggerInitialized ## SOMETIMES_CONSUMES
100 gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid ## CONSUMES
101 gEfiSecurityPkgTokenSpaceGuid.PcdStatusCodeSubClassTpmDevice ## SOMETIMES_CONSUMES
102 gEfiSecurityPkgTokenSpaceGuid.PcdTcg2HashAlgorithmBitmap ## CONSUMES
103 gEfiSecurityPkgTokenSpaceGuid.PcdTcg2NumberOfPCRBanks ## CONSUMES
104 gEfiSecurityPkgTokenSpaceGuid.PcdTcgLogAreaMinLen ## CONSUMES
105 gEfiSecurityPkgTokenSpaceGuid.PcdTcg2FinalLogAreaLen ## CONSUMES
106 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev ## CONSUMES
107 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableLaml ## PRODUCES
108 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableLasa ## PRODUCES
109 gEfiMdeModulePkgTokenSpaceGuid.PcdTcgPfpMeasurementRevision ## CONSUMES
112 # According to PcdTpm2AcpiTableRev definition in SecurityPkg.dec
113 # This PCD should be configured at DynamicHii or DynamicHiiEx.
114 # So, this PCD read operation depends on GetVariable service.
115 # Add VariableArch protocol dependency to make sure PCD read works.
116 gEfiVariableArchProtocolGuid
118 [UserExtensions.TianoCore."ExtraFiles"]