diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-01-30 13:32:39 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 13:32:39 +0100 |
commit | cdc7957d1954908a39a6964e9c6f643916e76c4b (patch) | |
tree | f2ab54704a12d7ebeb782b3a539682254d9dc5f9 /arch/x86/kernel/rtc.c | |
parent | fde1b3fa947c2512e3715962ebb1d3a6a9b9bb7d (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>
Diffstat (limited to 'arch/x86/kernel/rtc.c')
-rw-r--r-- | arch/x86/kernel/rtc.c | 10 |
1 files changed, 10 insertions, 0 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 @@ #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); |