## @file # Produces Tcg2 protocol and measure boot environment # # Spec Compliance Info: # "TCG PC Client Platform Firmware Profile Specification for TPM Family 2.0 Level 00 Revision 00.21" # along with # "Errata for PC Client Specific Platform Firmware Profile Specification Version 1.0 Revision 0.21" # "TCG EFI Protocol Specification" "Family 2.0" "Level 00 Revision 00.13" # # This module will produce Tcg2 protocol and measure boot environment. # # Caution: This module requires additional review when modified. # This driver will have external input - PE/COFF image. # This external input must be validated carefully to avoid security issue like # buffer overflow, integer overflow. # # Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
# This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at # http://opensource.org/licenses/bsd-license.php # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # ## [Defines] INF_VERSION = 0x00010005 BASE_NAME = Tcg2Dxe MODULE_UNI_FILE = Tcg2Dxe.uni FILE_GUID = FDFF263D-5F68-4591-87BA-B768F445A9AF MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 ENTRY_POINT = DriverEntry # # The following information is for reference only and not required by the build tools. # # VALID_ARCHITECTURES = IA32 X64 # [Sources] Tcg2Dxe.c MeasureBootPeCoff.c [Packages] MdePkg/MdePkg.dec MdeModulePkg/MdeModulePkg.dec SecurityPkg/SecurityPkg.dec CryptoPkg/CryptoPkg.dec [LibraryClasses] MemoryAllocationLib BaseLib UefiBootServicesTableLib HobLib UefiDriverEntryPoint UefiRuntimeServicesTableLib BaseMemoryLib DebugLib Tpm2CommandLib PrintLib UefiLib Tpm2DeviceLib HashLib PerformanceLib ReportStatusCodeLib Tcg2PhysicalPresenceLib PeCoffLib [Guids] ## SOMETIMES_CONSUMES ## Variable:L"SecureBoot" ## SOMETIMES_CONSUMES ## Variable:L"PK" ## SOMETIMES_CONSUMES ## Variable:L"KEK" ## SOMETIMES_CONSUMES ## Variable:L"BootXXXX" gEfiGlobalVariableGuid ## SOMETIMES_CONSUMES ## Variable:L"db" ## SOMETIMES_CONSUMES ## Variable:L"dbx" gEfiImageSecurityDatabaseGuid gTcgEventEntryHobGuid ## SOMETIMES_CONSUMES ## HOB gTpmErrorHobGuid ## SOMETIMES_CONSUMES ## HOB gEfiEventExitBootServicesGuid ## CONSUMES ## Event gEventExitBootServicesFailedGuid ## SOMETIMES_CONSUMES ## Event gEfiTpmDeviceInstanceNoneGuid ## SOMETIMES_CONSUMES ## GUID # TPM device identifier gEfiTpmDeviceInstanceTpm12Guid ## SOMETIMES_CONSUMES ## GUID # TPM device identifier gTcgEvent2EntryHobGuid ## SOMETIMES_CONSUMES ## HOB gTpm2StartupLocalityHobGuid ## SOMETIMES_CONSUMES ## HOB [Protocols] gEfiTcg2ProtocolGuid ## PRODUCES gEfiTcg2FinalEventsTableGuid ## PRODUCES gEfiAcpiTableProtocolGuid ## NOTIFY gEfiMpServiceProtocolGuid ## SOMETIMES_CONSUMES gEfiVariableWriteArchProtocolGuid ## NOTIFY gEfiResetNotificationProtocolGuid ## CONSUMES [Pcd] gEfiSecurityPkgTokenSpaceGuid.PcdTpmPlatformClass ## SOMETIMES_CONSUMES gEfiSecurityPkgTokenSpaceGuid.PcdFirmwareDebuggerInitialized ## SOMETIMES_CONSUMES gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid ## CONSUMES gEfiSecurityPkgTokenSpaceGuid.PcdStatusCodeSubClassTpmDevice ## SOMETIMES_CONSUMES gEfiSecurityPkgTokenSpaceGuid.PcdTcg2HashAlgorithmBitmap ## CONSUMES gEfiSecurityPkgTokenSpaceGuid.PcdTcg2NumberOfPCRBanks ## CONSUMES gEfiSecurityPkgTokenSpaceGuid.PcdTcgLogAreaMinLen ## CONSUMES gEfiSecurityPkgTokenSpaceGuid.PcdTcg2FinalLogAreaLen ## CONSUMES [Depex] TRUE [UserExtensions.TianoCore."ExtraFiles"] Tcg2DxeExtra.uni