x86: move native_read_tsc() offline
authorIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 12:32:39 +0000 (13:32 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 12:32:39 +0000 (13:32 +0100)
move native_read_tsc() offline.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/rtc.c
include/asm-x86/msr.h

index d040840ff1b64532aff879286aca6a661bd466c3..c42cf12638823a22f1195af42d2eb5553aa0e054 100644 (file)
@@ -6,6 +6,7 @@
 #include <linux/mc146818rtc.h>
 
 #include <asm/time.h>
+#include <asm/vsyscall.h>
 
 #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);
index bca8c39501320fc29ee2870d73dd0f2a549cc87a..decfec4ab17c8c9d8c94ffe05bd7283f63e19139 100644 (file)
@@ -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)
 {