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