]>
Commit | Line | Data |
---|---|---|
1abfa4ce JY |
1 | ## @file\r |
2 | # Produces Tcg2 protocol and measure boot environment\r | |
6d92ae11 ZC |
3 | #\r |
4 | # Spec Compliance Info:\r | |
3cc9af5c | 5 | # "TCG PC Client Platform Firmware Profile Specification for TPM Family 2.0 Level 00 Revision 1.03 v51"\r |
6d92ae11 | 6 | # along with\r |
3cc9af5c | 7 | # "Errata for PC Client Specific Platform Firmware Profile Specification Version 1.0 Revision 1.03"\r |
6d92ae11 | 8 | # "TCG EFI Protocol Specification" "Family 2.0" "Level 00 Revision 00.13"\r |
b909b8b9 ZC |
9 | # along with\r |
10 | # "Errata Version 0.5 for TCG EFI Protocol Specification"\r | |
6d92ae11 | 11 | #\r |
1abfa4ce JY |
12 | # This module will produce Tcg2 protocol and measure boot environment.\r |
13 | #\r | |
14 | # Caution: This module requires additional review when modified.\r | |
15 | # This driver will have external input - PE/COFF image.\r | |
16 | # This external input must be validated carefully to avoid security issue like\r | |
17 | # buffer overflow, integer overflow.\r | |
18 | #\r | |
b909b8b9 | 19 | # Copyright (c) 2015 - 2019, Intel Corporation. All rights reserved.<BR>\r |
289b714b | 20 | # SPDX-License-Identifier: BSD-2-Clause-Patent\r |
1abfa4ce JY |
21 | #\r |
22 | ##\r | |
23 | \r | |
24 | [Defines]\r | |
25 | INF_VERSION = 0x00010005\r | |
26 | BASE_NAME = Tcg2Dxe\r | |
27 | MODULE_UNI_FILE = Tcg2Dxe.uni\r | |
28 | FILE_GUID = FDFF263D-5F68-4591-87BA-B768F445A9AF\r | |
29 | MODULE_TYPE = DXE_DRIVER\r | |
30 | VERSION_STRING = 1.0\r | |
31 | ENTRY_POINT = DriverEntry\r | |
32 | \r | |
33 | #\r | |
34 | # The following information is for reference only and not required by the build tools.\r | |
35 | #\r | |
4cecd19a | 36 | # VALID_ARCHITECTURES = IA32 X64\r |
1abfa4ce JY |
37 | #\r |
38 | \r | |
39 | [Sources]\r | |
40 | Tcg2Dxe.c\r | |
41 | MeasureBootPeCoff.c\r | |
42 | \r | |
43 | [Packages]\r | |
44 | MdePkg/MdePkg.dec\r | |
45 | MdeModulePkg/MdeModulePkg.dec\r | |
46 | SecurityPkg/SecurityPkg.dec\r | |
47 | CryptoPkg/CryptoPkg.dec\r | |
48 | \r | |
49 | [LibraryClasses]\r | |
50 | MemoryAllocationLib\r | |
51 | BaseLib\r | |
52 | UefiBootServicesTableLib\r | |
53 | HobLib\r | |
54 | UefiDriverEntryPoint\r | |
55 | UefiRuntimeServicesTableLib\r | |
56 | BaseMemoryLib\r | |
57 | DebugLib\r | |
58 | Tpm2CommandLib\r | |
59 | PrintLib\r | |
60 | UefiLib\r | |
61 | Tpm2DeviceLib\r | |
62 | HashLib\r | |
63 | PerformanceLib\r | |
64 | ReportStatusCodeLib\r | |
65 | Tcg2PhysicalPresenceLib\r | |
5a8eae95 | 66 | PeCoffLib\r |
1abfa4ce JY |
67 | \r |
68 | [Guids]\r | |
1abfa4ce JY |
69 | ## SOMETIMES_CONSUMES ## Variable:L"SecureBoot"\r |
70 | ## SOMETIMES_CONSUMES ## Variable:L"PK"\r | |
71 | ## SOMETIMES_CONSUMES ## Variable:L"KEK"\r | |
72 | ## SOMETIMES_CONSUMES ## Variable:L"BootXXXX"\r | |
73 | gEfiGlobalVariableGuid\r | |
74 | \r | |
75 | ## SOMETIMES_CONSUMES ## Variable:L"db"\r | |
76 | ## SOMETIMES_CONSUMES ## Variable:L"dbx"\r | |
77 | gEfiImageSecurityDatabaseGuid\r | |
b3548d32 | 78 | \r |
1abfa4ce JY |
79 | gTcgEventEntryHobGuid ## SOMETIMES_CONSUMES ## HOB\r |
80 | gTpmErrorHobGuid ## SOMETIMES_CONSUMES ## HOB\r | |
81 | gEfiEventExitBootServicesGuid ## CONSUMES ## Event\r | |
82 | gEventExitBootServicesFailedGuid ## SOMETIMES_CONSUMES ## Event\r | |
83 | gEfiTpmDeviceInstanceNoneGuid ## SOMETIMES_CONSUMES ## GUID # TPM device identifier\r | |
84 | gEfiTpmDeviceInstanceTpm12Guid ## SOMETIMES_CONSUMES ## GUID # TPM device identifier\r | |
85 | \r | |
86 | gTcgEvent2EntryHobGuid ## SOMETIMES_CONSUMES ## HOB\r | |
18458db1 | 87 | gTpm2StartupLocalityHobGuid ## SOMETIMES_CONSUMES ## HOB\r |
1abfa4ce JY |
88 | \r |
89 | [Protocols]\r | |
90 | gEfiTcg2ProtocolGuid ## PRODUCES\r | |
91 | gEfiTcg2FinalEventsTableGuid ## PRODUCES\r | |
1abfa4ce JY |
92 | gEfiMpServiceProtocolGuid ## SOMETIMES_CONSUMES\r |
93 | gEfiVariableWriteArchProtocolGuid ## NOTIFY\r | |
9d5dfe9d | 94 | gEfiResetNotificationProtocolGuid ## CONSUMES\r |
1abfa4ce JY |
95 | \r |
96 | [Pcd]\r | |
97 | gEfiSecurityPkgTokenSpaceGuid.PcdTpmPlatformClass ## SOMETIMES_CONSUMES\r | |
98 | gEfiSecurityPkgTokenSpaceGuid.PcdFirmwareDebuggerInitialized ## SOMETIMES_CONSUMES\r | |
99 | gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid ## CONSUMES\r | |
1abfa4ce JY |
100 | gEfiSecurityPkgTokenSpaceGuid.PcdStatusCodeSubClassTpmDevice ## SOMETIMES_CONSUMES\r |
101 | gEfiSecurityPkgTokenSpaceGuid.PcdTcg2HashAlgorithmBitmap ## CONSUMES\r | |
102 | gEfiSecurityPkgTokenSpaceGuid.PcdTcg2NumberOfPCRBanks ## CONSUMES\r | |
91e914f5 CZ |
103 | gEfiSecurityPkgTokenSpaceGuid.PcdTcgLogAreaMinLen ## CONSUMES\r |
104 | gEfiSecurityPkgTokenSpaceGuid.PcdTcg2FinalLogAreaLen ## CONSUMES\r | |
a7e2d201 JY |
105 | gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev ## CONSUMES\r |
106 | gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableLaml ## PRODUCES\r | |
107 | gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableLasa ## PRODUCES\r | |
1abfa4ce JY |
108 | \r |
109 | [Depex]\r | |
e026bb4c LG |
110 | # According to PcdTpm2AcpiTableRev definition in SecurityPkg.dec\r |
111 | # This PCD should be configured at DynamicHii or DynamicHiiEx.\r | |
112 | # So, this PCD read operation depends on GetVariable service.\r | |
113 | # Add VariableArch protocol dependency to make sure PCD read works.\r | |
114 | gEfiVariableArchProtocolGuid\r | |
1abfa4ce JY |
115 | \r |
116 | [UserExtensions.TianoCore."ExtraFiles"]\r | |
117 | Tcg2DxeExtra.uni\r |