## @file
#  Performance library instance used in DXE phase to dump SMM performance data.
#  
#  This library instance allows a DXE driver or UEFI application to dump both PEI/DXE and SMM performance data.
#  StartPerformanceMeasurement(), EndPerformanceMeasurement(), StartPerformanceMeasurementEx()
#  and EndPerformanceMeasurementEx() are not implemented.
#  
#  Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>
#  This program and the accompanying materials
#  are licensed and made available under the terms and conditions of the BSD License
#  which accompanies this distribution.  The full text of the license may be found at
#  http://opensource.org/licenses/bsd-license.php
#  
#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#  
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = DxeSmmPerformanceLib
  MODULE_UNI_FILE                = DxeSmmPerformanceLib.uni
  FILE_GUID                      = DA80C15C-0B4D-4e75-8946-4043DE559B0C
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = PerformanceLib|DXE_DRIVER DXE_RUNTIME_DRIVER UEFI_APPLICATION

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  DxeSmmPerformanceLib.c


[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec


[LibraryClasses]
  BaseLib
  UefiBootServicesTableLib
  PcdLib
  DebugLib
  BaseMemoryLib
  UefiRuntimeServicesTableLib
  MemoryAllocationLib

[Guids]
  gPerformanceProtocolGuid              ## SOMETIMES_CONSUMES   ## UNDEFINED # Locate protocol
  gPerformanceExProtocolGuid            ## SOMETIMES_CONSUMES   ## UNDEFINED # Locate protocol
  gSmmPerformanceProtocolGuid           ## SOMETIMES_PRODUCES   ## UNDEFINED # Used to do smm communication
  gSmmPerformanceExProtocolGuid         ## SOMETIMES_PRODUCES   ## UNDEFINED # Used to do smm communication

[Protocols]
  gEfiSmmCommunicationProtocolGuid      ## CONSUMES


[Pcd]
  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask    ## CONSUMES

[Depex.common.DXE_DRIVER, Depex.common.DXE_RUNTIME_DRIVER]
  gEfiSmmCommunicationProtocolGuid