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