aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-01-30 07:32:39 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:32:39 -0500
commitcdc7957d1954908a39a6964e9c6f643916e76c4b (patch)
treef2ab54704a12d7ebeb782b3a539682254d9dc5f9
parentfde1b3fa947c2512e3715962ebb1d3a6a9b9bb7d (diff)
x86: move native_read_tsc() offline
move native_read_tsc() offline. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/kernel/rtc.c10
-rw-r--r--include/asm-x86/msr.h8
2 files changed, 11 insertions, 7 deletions
diff --git a/arch/x86/kernel/rtc.c b/arch/x86/kernel/rtc.c
index d040840ff1b6..c42cf1263882 100644
--- a/arch/x86/kernel/rtc.c
+++ b/arch/x86/kernel/rtc.c
@@ -6,6 +6,7 @@
6#include <linux/mc146818rtc.h> 6#include <linux/mc146818rtc.h>
7 7
8#include <asm/time.h> 8#include <asm/time.h>
9#include <asm/vsyscall.h>
9 10
10#ifdef CONFIG_X86_32 11#ifdef CONFIG_X86_32
11# define CMOS_YEARS_OFFS 1900 12# define CMOS_YEARS_OFFS 1900
@@ -194,3 +195,12 @@ int update_persistent_clock(struct timespec now)
194{ 195{
195 return set_rtc_mmss(now.tv_sec); 196 return set_rtc_mmss(now.tv_sec);
196} 197}
198
199unsigned long long __vsyscall_fn native_read_tsc(void)
200{
201 DECLARE_ARGS(val, low, high);
202
203 asm volatile("rdtsc" : EAX_EDX_RET(val, low, high));
204 return EAX_EDX_VAL(val, low, high);
205}
206EXPORT_SYMBOL_GPL(native_read_tsc);
diff --git a/include/asm-x86/msr.h b/include/asm-x86/msr.h
index bca8c3950132..decfec4ab17c 100644
--- a/include/asm-x86/msr.h
+++ b/include/asm-x86/msr.h
@@ -91,13 +91,7 @@ static inline int native_write_msr_safe(unsigned int msr,
91 return err; 91 return err;
92} 92}
93 93
94static inline unsigned long long native_read_tsc(void) 94extern unsigned long long native_read_tsc(void);
95{
96 DECLARE_ARGS(val, low, high);
97
98 asm volatile("rdtsc" : EAX_EDX_RET(val, low, high));
99 return EAX_EDX_VAL(val, low, high);
100}
101 95
102static inline unsigned long long native_read_pmc(int counter) 96static inline unsigned long long native_read_pmc(int counter)
103{ 97{