diff options
author | Zachary Amsden <zach@vmware.com> | 2007-03-05 00:30:36 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-05 07:57:52 -0800 |
commit | 1182d8528b620c23d043bccbbef092b42062960a (patch) | |
tree | 3df690a1a731811f8fecda06cb785a5a7b06d4d0 /include/asm-i386/paravirt.h | |
parent | 6cb9a8350aee789100a365794272ed20cc8f2401 (diff) | |
download | op-kernel-dev-1182d8528b620c23d043bccbbef092b42062960a.zip op-kernel-dev-1182d8528b620c23d043bccbbef092b42062960a.tar.gz |
[PATCH] vmi: cpu cycles fix
In order to share the common code in tsc.c which does CPU Khz calibration, we
need to make an accurate value of CPU speed available to the tsc.c code. This
value loses a lot of precision in a VM because of the timing differences with
real hardware, but we need it to be as precise as possible so the guest can
make accurate time calculations with the cycle counters.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/asm-i386/paravirt.h')
-rw-r--r-- | include/asm-i386/paravirt.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/asm-i386/paravirt.h b/include/asm-i386/paravirt.h index a132302..a35c814 100644 --- a/include/asm-i386/paravirt.h +++ b/include/asm-i386/paravirt.h @@ -95,6 +95,7 @@ struct paravirt_ops u64 (*read_tsc)(void); u64 (*read_pmc)(void); u64 (*get_scheduled_cycles)(void); + unsigned long (*get_cpu_khz)(void); void (*load_tr_desc)(void); void (*load_gdt)(const struct Xgt_desc_struct *); @@ -275,6 +276,7 @@ static inline void halt(void) #define rdtscll(val) (val = paravirt_ops.read_tsc()) #define get_scheduled_cycles(val) (val = paravirt_ops.get_scheduled_cycles()) +#define calculate_cpu_khz() (paravirt_ops.get_cpu_khz()) #define write_tsc(val1,val2) wrmsr(0x10, val1, val2) |