x86: Move tsc_calibration to x86_init_ops

TSC calibration is modified by the vmware hypervisor and paravirt by
separate means. Moorestown wants to add its own calibration routine as
well. So make calibrate_tsc a proper x86_init_ops function and
override it by paravirt or by the early setup of the vmware
hypervisor.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
Thomas Gleixner
2009-08-20 17:06:25 +02:00
parent 47926214d8
commit 2d826404f0
17 changed files with 48 additions and 41 deletions

View File

@ -844,7 +844,6 @@ static const struct pv_init_ops xen_init_ops __initdata = {
static const struct pv_time_ops xen_time_ops __initdata = {
.set_wallclock = xen_set_wallclock,
.get_wallclock = xen_get_wallclock,
.get_tsc_khz = xen_tsc_khz,
.sched_clock = xen_sched_clock,
};
@ -980,6 +979,8 @@ asmlinkage void __init xen_start_kernel(void)
x86_init.timers.setup_percpu_clockev = x86_init_noop;
x86_cpuinit.setup_percpu_clockev = x86_init_noop;
x86_platform.calibrate_tsc = xen_tsc_khz;
#ifdef CONFIG_X86_64
/*
* Setup percpu state. We only need to do this for 64-bit