1## @file
2#  Provides ACPI metholds for TPM 2.0 support
3#
4#  This driver implements TPM 2.0 definition block in ACPI table and
5#  registers SMI callback functions for Tcg2 physical presence and
6#  MemoryClear to handle the requests from ACPI method.
7#
8#  Caution: This module requires additional review when modified.
9#  This driver will have external input - variable and ACPINvs data in SMM mode.
10#  This external input must be validated carefully to avoid security issue.
11#
12# Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
13# This program and the accompanying materials
14# are licensed and made available under the terms and conditions of the BSD License
15# which accompanies this distribution. The full text of the license may be found at
16# http://opensource.org/licenses/bsd-license.php
17# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
18# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19#
20##
21
22[Defines]
23  INF_VERSION                    = 0x00010005
24  BASE_NAME                      = Tcg2Smm
25  MODULE_UNI_FILE                = Tcg2Smm.uni
26  FILE_GUID                      = 44A20657-10B8-4049-A148-ACD8812AF257
27  MODULE_TYPE                    = DXE_SMM_DRIVER
28  PI_SPECIFICATION_VERSION       = 0x0001000A
29  VERSION_STRING                 = 1.0
30  ENTRY_POINT                    = InitializeTcgSmm
31
32[Sources]
33  Tcg2Smm.h
34  Tcg2Smm.c
35  Tpm.asl
36
37[Packages]
38  MdePkg/MdePkg.dec
39  MdeModulePkg/MdeModulePkg.dec
40  SecurityPkg/SecurityPkg.dec
41
42[LibraryClasses]
43  BaseLib
44  BaseMemoryLib
45  UefiDriverEntryPoint
46  SmmServicesTableLib
47  UefiBootServicesTableLib
48  DebugLib
49  DxeServicesLib
50  TpmMeasurementLib
51  Tpm2DeviceLib
52  Tcg2PhysicalPresenceLib
53
54[Guids]
55  ## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControl"
56  ## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl"
57  gEfiMemoryOverwriteControlDataGuid
58
59  gEfiTpmDeviceInstanceTpm20DtpmGuid                            ## PRODUCES           ## GUID       # TPM device identifier
60
61[Protocols]
62  gEfiSmmSwDispatch2ProtocolGuid                                ## CONSUMES
63  gEfiSmmVariableProtocolGuid                                   ## CONSUMES
64  gEfiAcpiTableProtocolGuid                                     ## CONSUMES
65
66[Pcd]
67  gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid              ## CONSUMES
68  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId            ## SOMETIMES_CONSUMES
69  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId       ## SOMETIMES_CONSUMES
70  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision      ## SOMETIMES_CONSUMES
71  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId        ## SOMETIMES_CONSUMES
72  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision  ## SOMETIMES_CONSUMES
73
74[Depex]
75  gEfiAcpiTableProtocolGuid AND
76  gEfiSmmSwDispatch2ProtocolGuid AND
77  gEfiSmmVariableProtocolGuid
78
79[UserExtensions.TianoCore."ExtraFiles"]
80  Tcg2SmmExtra.uni
81