|
@@ -26,8 +26,6 @@
|
|
|
|
|
|
#include "xen-ops.h"
|
|
#include "xen-ops.h"
|
|
|
|
|
|
-#define XEN_SHIFT 22
|
|
|
|
-
|
|
|
|
/* Xen may fire a timer up to this many ns early */
|
|
/* Xen may fire a timer up to this many ns early */
|
|
#define TIMER_SLOP 100000
|
|
#define TIMER_SLOP 100000
|
|
#define NS_PER_TICK (1000000000LL / HZ)
|
|
#define NS_PER_TICK (1000000000LL / HZ)
|
|
@@ -211,8 +209,6 @@ static struct clocksource xen_clocksource __read_mostly = {
|
|
.rating = 400,
|
|
.rating = 400,
|
|
.read = xen_clocksource_get_cycles,
|
|
.read = xen_clocksource_get_cycles,
|
|
.mask = ~0,
|
|
.mask = ~0,
|
|
- .mult = 1<<XEN_SHIFT, /* time directly in nanoseconds */
|
|
|
|
- .shift = XEN_SHIFT,
|
|
|
|
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
|
|
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
|
|
};
|
|
};
|
|
|
|
|
|
@@ -446,7 +442,7 @@ static __init void xen_time_init(void)
|
|
int cpu = smp_processor_id();
|
|
int cpu = smp_processor_id();
|
|
struct timespec tp;
|
|
struct timespec tp;
|
|
|
|
|
|
- clocksource_register(&xen_clocksource);
|
|
|
|
|
|
+ clocksource_register_hz(&xen_clocksource, NSEC_PER_SEC);
|
|
|
|
|
|
if (HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer, cpu, NULL) == 0) {
|
|
if (HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer, cpu, NULL) == 0) {
|
|
/* Successfully turned off 100Hz tick, so we have the
|
|
/* Successfully turned off 100Hz tick, so we have the
|