From 68d6e72b3cc0a54d5fddb6d9e4e06dec0ee4ce7f Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Wed, 30 Jan 2008 13:32:39 +0100 Subject: [PATCH] --- yaml --- r: 80153 b: refs/heads/master c: cdc7957d1954908a39a6964e9c6f643916e76c4b h: refs/heads/master i: 80151: c14d98f06f67ffe7c07ace4dc4d2493a79af2f65 v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/rtc.c | 10 ++++++++++ trunk/include/asm-x86/msr.h | 8 +------- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 7cf68559acc3..1f01da96c6c9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fde1b3fa947c2512e3715962ebb1d3a6a9b9bb7d +refs/heads/master: cdc7957d1954908a39a6964e9c6f643916e76c4b diff --git a/trunk/arch/x86/kernel/rtc.c b/trunk/arch/x86/kernel/rtc.c index d040840ff1b6..c42cf1263882 100644 --- a/trunk/arch/x86/kernel/rtc.c +++ b/trunk/arch/x86/kernel/rtc.c @@ -6,6 +6,7 @@ #include #include +#include #ifdef CONFIG_X86_32 # define CMOS_YEARS_OFFS 1900 @@ -194,3 +195,12 @@ int update_persistent_clock(struct timespec now) { return set_rtc_mmss(now.tv_sec); } + +unsigned long long __vsyscall_fn native_read_tsc(void) +{ + DECLARE_ARGS(val, low, high); + + asm volatile("rdtsc" : EAX_EDX_RET(val, low, high)); + return EAX_EDX_VAL(val, low, high); +} +EXPORT_SYMBOL_GPL(native_read_tsc); diff --git a/trunk/include/asm-x86/msr.h b/trunk/include/asm-x86/msr.h index bca8c3950132..decfec4ab17c 100644 --- a/trunk/include/asm-x86/msr.h +++ b/trunk/include/asm-x86/msr.h @@ -91,13 +91,7 @@ static inline int native_write_msr_safe(unsigned int msr, return err; } -static inline unsigned long long native_read_tsc(void) -{ - DECLARE_ARGS(val, low, high); - - asm volatile("rdtsc" : EAX_EDX_RET(val, low, high)); - return EAX_EDX_VAL(val, low, high); -} +extern unsigned long long native_read_tsc(void); static inline unsigned long long native_read_pmc(int counter) {