Home | History | Annotate | Download | only in TscTimerLib
      1 ## @file

      2 #  Pei 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                      = PeiTscTimerLib
     28   FILE_GUID                      = 342C36C0-15DF-43b4-9EC9-FBF748BFB3D1
     29   MODULE_TYPE                    = PEIM
     30   VERSION_STRING                 = 1.0
     31   LIBRARY_CLASS                  = TimerLib|PEIM PEI_CORE
     32 
     33 
     34 #

     35 #  VALID_ARCHITECTURES           = IA32 X64

     36 #

     37 
     38 [Sources.common]
     39   TscTimerLibShare.c
     40   PeiTscTimerLib.c
     41   TscTimerLibInternal.h
     42 
     43 
     44 [Packages]
     45   MdePkg/MdePkg.dec
     46   PerformancePkg/PerformancePkg.dec
     47 
     48 
     49 [LibraryClasses]
     50   PcdLib
     51   PciLib
     52   IoLib
     53   BaseLib
     54   HobLib
     55 
     56 [Guids]
     57   gEfiTscFrequencyGuid                          ## PRODUCES ## HOB

     58 
     59 [Pcd.common]
     60   gPerformancePkgTokenSpaceGuid.PcdPerfPkgAcpiIoPortBaseAddress     ## SOMETIMES_CONSUMES

     61