aboutsummaryrefslogtreecommitdiff
path: root/include/asm-x86/msr.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-01-30 13:32:40 +0100
committerIngo Molnar <mingo@elte.hu>2008-01-30 13:32:40 +0100
commit92767af0e3904b4d35ed547fb514ff6cb227e678 (patch)
tree635be2878ede16e4b12d23cfbd9d8dd16406dcef /include/asm-x86/msr.h
parent6d63de8dbcda98511206897562ecfcdacf18f523 (diff)
x86: fix sched_clock()
[ andi@firstfloor.org: build fix ] Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/msr.h')
-rw-r--r--include/asm-x86/msr.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/asm-x86/msr.h b/include/asm-x86/msr.h
index decfec4ab17..204a8a30fec 100644
--- a/include/asm-x86/msr.h
+++ b/include/asm-x86/msr.h
@@ -93,6 +93,17 @@ static inline int native_write_msr_safe(unsigned int msr,
extern unsigned long long native_read_tsc(void);
+static __always_inline unsigned long long __native_read_tsc(void)
+{
+ DECLARE_ARGS(val, low, high);
+
+ rdtsc_barrier();
+ asm volatile("rdtsc" : EAX_EDX_RET(val, low, high));
+ rdtsc_barrier();
+
+ return EAX_EDX_VAL(val, low, high);
+}
+
static inline unsigned long long native_read_pmc(int counter)
{
DECLARE_ARGS(val, low, high);