1## @file
2#  Implements ACPI metholds for the TCG feature
3#
4#  This driver implements TPM definition block in ACPI table and registers SMI
5#  callback functions for physical presence and MemoryClear to handle the requests
6#  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) 2011 - 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                      = TcgSmm
25  MODULE_UNI_FILE                = TcgSmm.uni
26  FILE_GUID                      = 42293093-76B9-4482-8C02-3BEFDEA9B35D
27  MODULE_TYPE                    = DXE_SMM_DRIVER
28  PI_SPECIFICATION_VERSION       = 0x0001000A
29  VERSION_STRING                 = 1.0
30  ENTRY_POINT                    = InitializeTcgSmm
31
32[Sources]
33  TcgSmm.c
34  TcgSmm.h
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  PcdLib
52  TcgPpVendorLib
53
54[Guids]
55  ## SOMETIMES_PRODUCES ## Variable:L"PhysicalPresence"
56  ## SOMETIMES_CONSUMES ## Variable:L"PhysicalPresence"
57  ## SOMETIMES_CONSUMES ## Variable:L"PhysicalPresenceFlags"
58  gEfiPhysicalPresenceGuid
59
60  ## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControl"
61  ## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl"
62  gEfiMemoryOverwriteControlDataGuid
63
64  gEfiTpmDeviceInstanceTpm12Guid                        ## PRODUCES           ## GUID       # TPM device identifier
65
66[Protocols]
67  gEfiSmmSwDispatch2ProtocolGuid                        ## CONSUMES
68  gEfiSmmVariableProtocolGuid                           ## CONSUMES
69  gEfiAcpiTableProtocolGuid                             ## CONSUMES
70
71[Pcd]
72  gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid      ## CONSUMES
73  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId    ## SOMETIMES_CONSUMES
74
75[Depex]
76  gEfiAcpiTableProtocolGuid AND
77  gEfiSmmSwDispatch2ProtocolGuid AND
78  gEfiSmmVariableProtocolGuid AND
79  gEfiTcgProtocolGuid
80
81[UserExtensions.TianoCore."ExtraFiles"]
82  TcgSmmExtra.uni
83