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, 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 63 [Guids] 64 ## SOMETIMES_CONSUMES ## Variable:L"SecureBoot" 65 ## SOMETIMES_CONSUMES ## Variable:L"PK" 66 ## SOMETIMES_CONSUMES ## Variable:L"KEK" 67 ## SOMETIMES_CONSUMES ## Variable:L"BootXXXX" 68 gEfiGlobalVariableGuid 69 70 ## SOMETIMES_CONSUMES ## Variable:L"db" 71 ## SOMETIMES_CONSUMES ## Variable:L"dbx" 72 gEfiImageSecurityDatabaseGuid 73 74 gTcgEventEntryHobGuid ## SOMETIMES_CONSUMES ## HOB 75 gTpmErrorHobGuid ## SOMETIMES_CONSUMES ## HOB 76 gEfiEventExitBootServicesGuid ## CONSUMES ## Event 77 gEventExitBootServicesFailedGuid ## SOMETIMES_CONSUMES ## Event 78 gEfiTpmDeviceInstanceNoneGuid ## SOMETIMES_CONSUMES ## GUID # TPM device identifier 79 gEfiTpmDeviceInstanceTpm12Guid ## SOMETIMES_CONSUMES ## GUID # TPM device identifier 80 81 gTcgEvent2EntryHobGuid ## SOMETIMES_CONSUMES ## HOB 82 83 [Protocols] 84 gEfiTcg2ProtocolGuid ## PRODUCES 85 gEfiTcg2FinalEventsTableGuid ## PRODUCES 86 gEfiAcpiTableProtocolGuid ## NOTIFY 87 gEfiMpServiceProtocolGuid ## SOMETIMES_CONSUMES 88 gEfiVariableWriteArchProtocolGuid ## NOTIFY 89 90 [Pcd] 91 gEfiSecurityPkgTokenSpaceGuid.PcdTpmPlatformClass ## SOMETIMES_CONSUMES 92 gEfiSecurityPkgTokenSpaceGuid.PcdFirmwareDebuggerInitialized ## SOMETIMES_CONSUMES 93 gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid ## CONSUMES 94 gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress ## SOMETIMES_CONSUMES 95 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId ## SOMETIMES_CONSUMES 96 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId ## SOMETIMES_CONSUMES 97 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision ## SOMETIMES_CONSUMES 98 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId ## SOMETIMES_CONSUMES 99 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision ## SOMETIMES_CONSUMES 100 gEfiSecurityPkgTokenSpaceGuid.PcdStatusCodeSubClassTpmDevice ## SOMETIMES_CONSUMES 101 gEfiSecurityPkgTokenSpaceGuid.PcdTcg2HashAlgorithmBitmap ## CONSUMES 102 gEfiSecurityPkgTokenSpaceGuid.PcdTcg2NumberOfPCRBanks ## CONSUMES 103 104 [Depex] 105 TRUE 106 107 [UserExtensions.TianoCore."ExtraFiles"] 108 Tcg2DxeExtra.uni 109