Home | History | Annotate | Download | only in TrEESmm
      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