]> git.proxmox.com Git - mirror_edk2.git/blob - PerformancePkg/Library/TscTimerLib/BaseTscTimerLib.inf
2c33b7702e576f7ff2083d78499878d6c490b489
[mirror_edk2.git] / PerformancePkg / Library / TscTimerLib / BaseTscTimerLib.inf
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 # A version of the Timer Library using the processor's TSC.
8 # The time stamp counter in newer processors may support an enhancement, referred to as invariant TSC.
9 # The invariant TSC runs at a constant rate in all ACPI P-, C-. and T-states.
10 # This is the architectural behavior moving forward.
11 # TSC reads are much more efficient and do not incur the overhead associated with a ring transition or
12 # access to a platform resource.
13 #
14 # Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
15 # This program and the accompanying materials
16 # are licensed and made available under the terms and conditions of the BSD License
17 # which accompanies this distribution. The full text of the license may be found at
18 # http://opensource.org/licenses/bsd-license.php
19 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
20 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
21 #
22 ##
23
24 [Defines]
25 INF_VERSION = 0x00010005
26 BASE_NAME = BaseTscTimerLib
27 FILE_GUID = D29338B9-50FE-4e4f-B7D4-A150A2C1F4FB
28 MODULE_TYPE = BASE
29 VERSION_STRING = 1.0
30 LIBRARY_CLASS = TimerLib
31
32
33 #
34 # VALID_ARCHITECTURES = IA32 X64
35 #
36
37 [Sources.common]
38 TscTimerLibShare.c
39 BaseTscTimerLib.c
40
41
42 [Packages]
43 MdePkg/MdePkg.dec
44 PerformancePkg/PerformancePkg.dec
45
46
47 [LibraryClasses]
48 PcdLib
49 PciLib
50 IoLib
51 BaseLib
52
53 [Pcd.common]
54 gPerformancePkgTokenSpaceGuid.PcdPerfPkgAcpiIoPortBaseAddress