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