1## @file 2# Produces Tcg2 protocol and measure boot environment 3# This module will produce Tcg2 protocol and measure boot environment. 4# 5# Caution: This module requires additional review when modified. 6# This driver will have external input - PE/COFF image. 7# This external input must be validated carefully to avoid security issue like 8# buffer overflow, integer overflow. 9# 10# Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR> 11# This program and the accompanying materials 12# are licensed and made available under the terms and conditions of the BSD License 13# which accompanies this distribution. The full text of the license may be found at 14# http://opensource.org/licenses/bsd-license.php 15# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 16# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 17# 18## 19 20[Defines] 21 INF_VERSION = 0x00010005 22 BASE_NAME = Tcg2Dxe 23 MODULE_UNI_FILE = Tcg2Dxe.uni 24 FILE_GUID = FDFF263D-5F68-4591-87BA-B768F445A9AF 25 MODULE_TYPE = DXE_DRIVER 26 VERSION_STRING = 1.0 27 ENTRY_POINT = DriverEntry 28 29# 30# The following information is for reference only and not required by the build tools. 31# 32# VALID_ARCHITECTURES = IA32 X64 IPF 33# 34 35[Sources] 36 Tcg2Dxe.c 37 MeasureBootPeCoff.c 38 39[Packages] 40 MdePkg/MdePkg.dec 41 MdeModulePkg/MdeModulePkg.dec 42 SecurityPkg/SecurityPkg.dec 43 CryptoPkg/CryptoPkg.dec 44 45[LibraryClasses] 46 MemoryAllocationLib 47 BaseLib 48 UefiBootServicesTableLib 49 HobLib 50 UefiDriverEntryPoint 51 UefiRuntimeServicesTableLib 52 BaseMemoryLib 53 DebugLib 54 Tpm2CommandLib 55 PrintLib 56 UefiLib 57 Tpm2DeviceLib 58 HashLib 59 PerformanceLib 60 ReportStatusCodeLib 61 Tcg2PhysicalPresenceLib 62 PeCoffLib 63 64[Guids] 65 ## SOMETIMES_CONSUMES ## Variable:L"SecureBoot" 66 ## SOMETIMES_CONSUMES ## Variable:L"PK" 67 ## SOMETIMES_CONSUMES ## Variable:L"KEK" 68 ## SOMETIMES_CONSUMES ## Variable:L"BootXXXX" 69 gEfiGlobalVariableGuid 70 71 ## SOMETIMES_CONSUMES ## Variable:L"db" 72 ## SOMETIMES_CONSUMES ## Variable:L"dbx" 73 gEfiImageSecurityDatabaseGuid 74 75 gTcgEventEntryHobGuid ## SOMETIMES_CONSUMES ## HOB 76 gTpmErrorHobGuid ## SOMETIMES_CONSUMES ## HOB 77 gEfiEventExitBootServicesGuid ## CONSUMES ## Event 78 gEventExitBootServicesFailedGuid ## SOMETIMES_CONSUMES ## Event 79 gEfiTpmDeviceInstanceNoneGuid ## SOMETIMES_CONSUMES ## GUID # TPM device identifier 80 gEfiTpmDeviceInstanceTpm12Guid ## SOMETIMES_CONSUMES ## GUID # TPM device identifier 81 82 gTcgEvent2EntryHobGuid ## SOMETIMES_CONSUMES ## HOB 83 84[Protocols] 85 gEfiTcg2ProtocolGuid ## PRODUCES 86 gEfiTcg2FinalEventsTableGuid ## PRODUCES 87 gEfiAcpiTableProtocolGuid ## NOTIFY 88 gEfiMpServiceProtocolGuid ## SOMETIMES_CONSUMES 89 gEfiVariableWriteArchProtocolGuid ## NOTIFY 90 91[Pcd] 92 gEfiSecurityPkgTokenSpaceGuid.PcdTpmPlatformClass ## SOMETIMES_CONSUMES 93 gEfiSecurityPkgTokenSpaceGuid.PcdFirmwareDebuggerInitialized ## SOMETIMES_CONSUMES 94 gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid ## CONSUMES 95 gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress ## SOMETIMES_CONSUMES 96 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId ## SOMETIMES_CONSUMES 97 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId ## SOMETIMES_CONSUMES 98 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision ## SOMETIMES_CONSUMES 99 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId ## SOMETIMES_CONSUMES 100 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision ## SOMETIMES_CONSUMES 101 gEfiSecurityPkgTokenSpaceGuid.PcdStatusCodeSubClassTpmDevice ## SOMETIMES_CONSUMES 102 gEfiSecurityPkgTokenSpaceGuid.PcdTcg2HashAlgorithmBitmap ## CONSUMES 103 gEfiSecurityPkgTokenSpaceGuid.PcdTcg2NumberOfPCRBanks ## CONSUMES 104 gEfiSecurityPkgTokenSpaceGuid.PcdTcgLogAreaMinLen ## CONSUMES 105 gEfiSecurityPkgTokenSpaceGuid.PcdTcg2FinalLogAreaLen ## CONSUMES 106 107[Depex] 108 TRUE 109 110[UserExtensions.TianoCore."ExtraFiles"] 111 Tcg2DxeExtra.uni 112