1## @file
2#  Base Timer Library which uses the Time Stamp Counter in the processor.
3#
4#  Note: There will be 1ms penalty to get TSC frequency every time
5#    by waiting for 3579 clocks of the ACPI timer, or 1ms.
6#
7#  Note: This library is a sample implementation that depends on chipset ACPI timer.
8#    It may not work on new generation chipset. PcAtChipsetPkg AcpiTimerLib is
9#    the generic timer library that can replace this one.
10#
11#  A version of the Timer Library using the processor's TSC.
12#  The time stamp counter in newer processors may support an enhancement, referred to as invariant TSC.
13#  The invariant TSC runs at a constant rate in all ACPI P-, C-. and T-states.
14#  This is the architectural behavior moving forward.
15#  TSC reads are much more efficient and do not incur the overhead associated with a ring transition or
16#  access to a platform resource.
17#
18#  Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR>
19#  This program and the accompanying materials
20#  are licensed and made available under the terms and conditions of the BSD License
21#  which accompanies this distribution. The full text of the license may be found at
22#  http://opensource.org/licenses/bsd-license.php
23#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
24#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
25#
26##
27
28[Defines]
29  INF_VERSION                    = 0x00010005
30  BASE_NAME                      = BaseTscTimerLib
31  FILE_GUID                      = D29338B9-50FE-4e4f-B7D4-A150A2C1F4FB
32  MODULE_TYPE                    = BASE
33  VERSION_STRING                 = 1.0
34  LIBRARY_CLASS                  = TimerLib
35
36
37#
38#  VALID_ARCHITECTURES           = IA32 X64
39#
40
41[Sources.common]
42  TscTimerLibShare.c
43  BaseTscTimerLib.c
44  TscTimerLibInternal.h
45
46
47[Packages]
48  MdePkg/MdePkg.dec
49  PerformancePkg/PerformancePkg.dec
50
51
52[LibraryClasses]
53  PcdLib
54  PciLib
55  IoLib
56  BaseLib
57
58[Pcd.common]
59  gPerformancePkgTokenSpaceGuid.PcdPerfPkgAcpiIoPortBaseAddress       ## SOMETIMES_CONSUMES
60