1## @file
2#  Initializes TPM device and measures FVs in PEI phase
3#
4#  This module will initialize TPM device, measure reported FVs and BIOS version.
5#  This module may also lock TPM physical presence and physicalPresenceLifetimeLock.
6#
7# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
8# SPDX-License-Identifier: BSD-2-Clause-Patent
9#
10##
11
12[Defines]
13  INF_VERSION                    = 0x00010005
14  BASE_NAME                      = TcgPei
15  MODULE_UNI_FILE                = TcgPei.uni
16  FILE_GUID                      = 2BE1E4A6-6505-43b3-9FFC-A3C8330E0432
17  MODULE_TYPE                    = PEIM
18  VERSION_STRING                 = 1.0
19  ENTRY_POINT                    = PeimEntryMA
20
21#
22# The following information is for reference only and not required by the build tools.
23#
24#  VALID_ARCHITECTURES           = IA32 X64 EBC
25#
26# [BootMode]
27#   S3_RESUME                 ## SOMETIMES_CONSUMES
28#
29
30[Sources]
31  TcgPei.c
32
33[Packages]
34  MdePkg/MdePkg.dec
35  MdeModulePkg/MdeModulePkg.dec
36  CryptoPkg/CryptoPkg.dec
37  SecurityPkg/SecurityPkg.dec
38
39[LibraryClasses]
40  HobLib
41  PeimEntryPoint
42  PeiServicesLib
43  BaseMemoryLib
44  DebugLib
45  BaseCryptLib
46  Tpm12DeviceLib
47  TimerLib
48  PeiServicesTablePointerLib
49  BaseLib
50  PcdLib
51  MemoryAllocationLib
52  ReportStatusCodeLib
53  Tpm12CommandLib
54  PerformanceLib
55
56[Guids]
57  gTcgEventEntryHobGuid                                               ## PRODUCES               ## HOB
58  gTpmErrorHobGuid                                                    ## SOMETIMES_PRODUCES     ## HOB
59  gMeasuredFvHobGuid                                                  ## PRODUCES               ## HOB
60  gEfiTpmDeviceInstanceTpm12Guid                                      ## PRODUCES               ## GUID       # TPM device identifier
61
62[Ppis]
63  gPeiLockPhysicalPresencePpiGuid                                     ## SOMETIMES_CONSUMES     ## NOTIFY
64  gEfiPeiFirmwareVolumeInfoPpiGuid                                    ## SOMETIMES_CONSUMES     ## NOTIFY
65  gEfiPeiFirmwareVolumeInfo2PpiGuid                                   ## SOMETIMES_CONSUMES     ## NOTIFY
66  gEfiPeiFirmwareVolumeInfoMeasurementExcludedPpiGuid                 ## SOMETIMES_CONSUMES
67  gPeiTpmInitializedPpiGuid                                           ## SOMETIMES_PRODUCES
68  gPeiTpmInitializationDonePpiGuid                                    ## PRODUCES
69  gEfiEndOfPeiSignalPpiGuid                                           ## SOMETIMES_CONSUMES     ## NOTIFY
70
71[Pcd]
72  gEfiSecurityPkgTokenSpaceGuid.PcdPhysicalPresenceLifetimeLock       ## SOMETIMES_CONSUMES
73  gEfiSecurityPkgTokenSpaceGuid.PcdPhysicalPresenceCmdEnable          ## SOMETIMES_CONSUMES
74  gEfiSecurityPkgTokenSpaceGuid.PcdPhysicalPresenceHwEnable           ## SOMETIMES_CONSUMES
75  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString             ## SOMETIMES_CONSUMES
76  gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid                    ## CONSUMES
77  gEfiSecurityPkgTokenSpaceGuid.PcdTpmInitializationPolicy            ## CONSUMES
78  gEfiSecurityPkgTokenSpaceGuid.PcdTpmScrtmPolicy                     ## SOMETIMES_CONSUMES
79  gEfiSecurityPkgTokenSpaceGuid.PcdStatusCodeSubClassTpmDevice        ## SOMETIMES_CONSUMES
80
81[Depex]
82  gEfiPeiMasterBootModePpiGuid AND
83  gEfiTpmDeviceSelectedGuid
84
85[UserExtensions.TianoCore."ExtraFiles"]
86  TcgPeiExtra.uni
87
88