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