• 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 TrEE 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) 2013 - 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                      = TrEESmm
25  MODULE_UNI_FILE                = TrEESmm.uni
26  FILE_GUID                      = 114B7105-6CC9-453c-BADC-16DF227BB4EF
27  MODULE_TYPE                    = DXE_SMM_DRIVER
28  PI_SPECIFICATION_VERSION       = 0x0001000A
29  VERSION_STRING                 = 1.0
30  ENTRY_POINT                    = InitializeTcgSmm
31
32[Sources]
33  TrEESmm.h
34  TrEESmm.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  TrEEPpVendorLib
53
54[Guids]
55  ## SOMETIMES_PRODUCES ## Variable:L"PhysicalPresence"
56  ## SOMETIMES_CONSUMES ## Variable:L"PhysicalPresence"
57  ## SOMETIMES_CONSUMES ## Variable:L"PhysicalPresenceFlags"
58  gEfiTrEEPhysicalPresenceGuid
59
60  ## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControl"
61  ## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl"
62  gEfiMemoryOverwriteControlDataGuid
63
64  gEfiTpmDeviceInstanceTpm20DtpmGuid                            ## 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  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId       ## SOMETIMES_CONSUMES
75  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision      ## SOMETIMES_CONSUMES
76  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId        ## SOMETIMES_CONSUMES
77  gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision  ## SOMETIMES_CONSUMES
78
79[Depex]
80  gEfiAcpiTableProtocolGuid AND
81  gEfiSmmSwDispatch2ProtocolGuid AND
82  gEfiSmmVariableProtocolGuid
83
84[UserExtensions.TianoCore."ExtraFiles"]
85  TrEESmmExtra.uni