• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 - 2016, 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  Tpm2CommandLib
52  Tcg2PhysicalPresenceLib
53  IoLib
54
55[Guids]
56  ## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControl"
57  ## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl"
58  gEfiMemoryOverwriteControlDataGuid
59
60  gEfiTpmDeviceInstanceTpm20DtpmGuid                            ## PRODUCES           ## GUID       # TPM device identifier
61
62[Protocols]
63  gEfiSmmSwDispatch2ProtocolGuid                                ## CONSUMES
64  gEfiSmmVariableProtocolGuid                                   ## CONSUMES
65  gEfiAcpiTableProtocolGuid                                     ## CONSUMES
66
67[Pcd]
68  gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid              ## CONSUMES
69  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId            ## SOMETIMES_CONSUMES
70  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId       ## SOMETIMES_CONSUMES
71  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision      ## SOMETIMES_CONSUMES
72  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId        ## SOMETIMES_CONSUMES
73  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision  ## SOMETIMES_CONSUMES
74  gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress               ## CONSUMES
75  gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer  ## CONSUMES
76
77[Depex]
78  gEfiAcpiTableProtocolGuid AND
79  gEfiSmmSwDispatch2ProtocolGuid AND
80  gEfiSmmVariableProtocolGuid
81
82[UserExtensions.TianoCore."ExtraFiles"]
83  Tcg2SmmExtra.uni
84