aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/xen/xen-ops.h
diff options
context:
space:
mode:
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>2010-05-14 12:48:19 +0100
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2010-07-26 23:13:25 -0700
commit409771d258e9dd71c30f3c9520fd2b796ffc40f0 (patch)
tree68678275563114e9d381ae587fc80bd4d34a7e90 /arch/x86/xen/xen-ops.h
parentxen: Fix find_unbound_irq in presence of ioapic irqs. (diff)
downloadlinux-dev-409771d258e9dd71c30f3c9520fd2b796ffc40f0.tar.xz
linux-dev-409771d258e9dd71c30f3c9520fd2b796ffc40f0.zip
x86: Use xen_vcpuop_clockevent, xen_clocksource and xen wallclock.
Use xen_vcpuop_clockevent instead of hpet and APIC timers as main clockevent device on all vcpus, use the xen wallclock time as wallclock instead of rtc and use xen_clocksource as clocksource. The pv clock algorithm needs to work correctly for the xen_clocksource and xen wallclock to be usable, only modern Xen versions offer a reliable pv clock in HVM guests (XENFEAT_hvm_safe_pvclock). Using the hpet as clocksource means a VMEXIT every time we read/write to the hpet mmio addresses, pvclock give us a better rating without VMEXITs. Same goes for the xen wallclock and xen_vcpuop_clockevent Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Don Dutile <ddutile@redhat.com> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Diffstat (limited to 'arch/x86/xen/xen-ops.h')
-rw-r--r--arch/x86/xen/xen-ops.h7
1 files changed, 2 insertions, 5 deletions
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index 01c9dd386522..089d18923d2b 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -49,11 +49,8 @@ void xen_setup_runstate_info(int cpu);
void xen_teardown_timer(int cpu);
cycle_t xen_clocksource_read(void);
void xen_setup_cpu_clockevents(void);
-unsigned long xen_tsc_khz(void);
-void __init xen_time_init(void);
-unsigned long xen_get_wallclock(void);
-int xen_set_wallclock(unsigned long time);
-unsigned long long xen_sched_clock(void);
+void __init xen_init_time_ops(void);
+void __init xen_hvm_init_time_ops(void);
irqreturn_t xen_debug_interrupt(int irq, void *dev_id);