1182d8528b
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>
25 lines
582 B
C
25 lines
582 B
C
#ifndef _ASMi386_TIMER_H
|
|
#define _ASMi386_TIMER_H
|
|
#include <linux/init.h>
|
|
#include <linux/pm.h>
|
|
|
|
#define TICK_SIZE (tick_nsec / 1000)
|
|
|
|
void setup_pit_timer(void);
|
|
unsigned long long native_sched_clock(void);
|
|
unsigned long native_calculate_cpu_khz(void);
|
|
|
|
/* Modifiers for buggy PIT handling */
|
|
extern int pit_latch_buggy;
|
|
extern int timer_ack;
|
|
extern int no_timer_check;
|
|
extern int no_sync_cmos_clock;
|
|
extern int recalibrate_cpu_khz(void);
|
|
|
|
#ifndef CONFIG_PARAVIRT
|
|
#define get_scheduled_cycles(val) rdtscll(val)
|
|
#define calculate_cpu_khz() native_calculate_cpu_khz()
|
|
#endif
|
|
|
|
#endif
|