Handle TPM device error and avoid deadloop in BDS.
[mirror_edk2.git] / SecurityPkg / Tcg / TrEEDxe / TrEEDxe.inf
1 ## @file
2 # Produces TrEE protocol and measure boot environment
3 # This module will produce TrEE 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) 2013 - 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 = TrEEDxe
23 MODULE_UNI_FILE = TrEEDxe.uni
24 FILE_GUID = 2A7946E3-1AB2-49a9-ACCB-C6275139C1A5
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 TrEEDxe.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
62 [Guids]
63 ## SOMETIMES_CONSUMES ## SystemTable # Smbios Table
64 ## SOMETIMES_CONSUMES ## GUID # Handoff Table for measurement.
65 gEfiSmbiosTableGuid
66
67 ## SOMETIMES_CONSUMES ## Variable:L"SecureBoot"
68 ## SOMETIMES_CONSUMES ## Variable:L"PK"
69 ## SOMETIMES_CONSUMES ## Variable:L"KEK"
70 ## SOMETIMES_CONSUMES ## Variable:L"BootXXXX"
71 gEfiGlobalVariableGuid
72
73 ## SOMETIMES_CONSUMES ## Variable:L"db"
74 ## SOMETIMES_CONSUMES ## Variable:L"dbx"
75 gEfiImageSecurityDatabaseGuid
76
77 gTcgEventEntryHobGuid ## SOMETIMES_CONSUMES ## HOB
78 gTpmErrorHobGuid ## SOMETIMES_CONSUMES ## HOB
79 gEfiEventExitBootServicesGuid ## CONSUMES ## Event
80 gEventExitBootServicesFailedGuid ## SOMETIMES_CONSUMES ## Event
81 gEfiTpmDeviceInstanceNoneGuid ## SOMETIMES_CONSUMES ## GUID # TPM device identifier
82 gEfiTpmDeviceInstanceTpm12Guid ## SOMETIMES_CONSUMES ## GUID # TPM device identifier
83
84 [Protocols]
85 gEfiTrEEProtocolGuid ## 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
102 [Depex]
103 TRUE
104
105 [UserExtensions.TianoCore."ExtraFiles"]
106 TrEEDxeExtra.uni