## @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