summaryrefslogtreecommitdiff
path: root/PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf
diff options
context:
space:
mode:
authorlzeng14 <lzeng14@6f19259b-4bc3-4df7-8a09-765794883524>2011-02-15 02:02:06 +0000
committerlzeng14 <lzeng14@6f19259b-4bc3-4df7-8a09-765794883524>2011-02-15 02:02:06 +0000
commitd50f6f8be8e2a738ac1422364963a6936e02d13d (patch)
treea1db29a793ca850a24a1b14f94195d2285296ca3 /PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf
parentb7bc11a4ff619ad03fce5b76b9c957563b16d2d8 (diff)
downloadedk2-platforms-d50f6f8be8e2a738ac1422364963a6936e02d13d.tar.xz
TscTimerLib in PerformancePkg is a BASE type library, which should be used by any module type.
But its constructor uses the global variable mTscFrequency to store frequency, which doesn't work on XIP PEIM. Split it to two LIBs for PEI and DXE separately. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11312 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf')
-rw-r--r--PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf56
1 files changed, 56 insertions, 0 deletions
diff --git a/PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf b/PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf
new file mode 100644
index 0000000000..88a6cb9e25
--- /dev/null
+++ b/PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf
@@ -0,0 +1,56 @@
+#/** @file
+# Dxe Timer Library which uses the Time Stamp Counter in the processor.
+#
+# 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 - 2011, 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]
+ DxeTscTimerLib.c
+
+
+[Packages]
+ MdePkg/MdePkg.dec
+ PerformancePkg/PerformancePkg.dec
+
+
+[LibraryClasses]
+ PcdLib
+ PciLib
+ IoLib
+ BaseLib
+ HobLib
+
+[Guids]
+ gEfiTscFrequencyGuid ## SOMETIMES_CONSUMES ## Hob
+
+[Pcd.common]
+ gPerformancePkgTokenSpaceGuid.PcdPerfPkgAcpiIoPortBaseAddress