## @file
#  Dxe Timer Library which uses the Time Stamp Counter in the processor.
#
#  Note: This library is a sample implementation that depends on chipset ACPI timer. 
#    It may not work on new generation chipset. PcAtChipsetPkg AcpiTimerLib is 
#    the generic timer library that can replace this one. 
#
#  A version of the Timer Library using the processor's TSC.
#  The time stamp counter in newer processors may support an enhancement, referred to as invariant TSC.
#  The invariant TSC runs at a constant rate in all ACPI P-, C-. and T-states.
#  This is the architectural behavior moving forward.
#  TSC reads are much more efficient and do not incur the overhead associated with a ring transition or
#  access to a platform resource.
#
#  Copyright (c) 2009 - 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                      = DxeTscTimerLib
  FILE_GUID                      = 95ab030f-b4fd-4ee4-92a5-9e04e87634d9
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = TimerLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER SMM_CORE

  CONSTRUCTOR                    = DxeTscTimerLibConstructor


#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources.common]
  TscTimerLibShare.c
  DxeTscTimerLib.c
  TscTimerLibInternal.h


[Packages]
  MdePkg/MdePkg.dec
  PerformancePkg/PerformancePkg.dec


[LibraryClasses]
  UefiBootServicesTableLib
  PcdLib
  PciLib
  IoLib
  BaseLib
  UefiLib
  DebugLib

[Guids]
  gEfiTscFrequencyGuid                          ## CONSUMES ## SystemTable

[Pcd.common]
  gPerformancePkgTokenSpaceGuid.PcdPerfPkgAcpiIoPortBaseAddress   ## SOMETIMES_CONSUMES
