## @file
#  Base Timer Library which uses the Time Stamp Counter in the processor.
#
#  Note: There will be 1ms penalty to get TSC frequency every time
#    by waiting for 3579 clocks of the ACPI timer, or 1ms.
#
#  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                      = BaseTscTimerLib
  FILE_GUID                      = D29338B9-50FE-4e4f-B7D4-A150A2C1F4FB
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = TimerLib


#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources.common]
  TscTimerLibShare.c
  BaseTscTimerLib.c
  TscTimerLibInternal.h


[Packages]
  MdePkg/MdePkg.dec
  PerformancePkg/PerformancePkg.dec


[LibraryClasses]
  PcdLib
  PciLib
  IoLib
  BaseLib

[Pcd.common]
  gPerformancePkgTokenSpaceGuid.PcdPerfPkgAcpiIoPortBaseAddress       ## SOMETIMES_CONSUMES
