|
@@ -223,8 +223,10 @@ static int xen_vcpuop_shutdown(struct clock_event_device *evt)
|
|
|
{
|
|
|
int cpu = smp_processor_id();
|
|
|
|
|
|
- if (HYPERVISOR_vcpu_op(VCPUOP_stop_singleshot_timer, cpu, NULL) ||
|
|
|
- HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer, cpu, NULL))
|
|
|
+ if (HYPERVISOR_vcpu_op(VCPUOP_stop_singleshot_timer, xen_vcpu_nr(cpu),
|
|
|
+ NULL) ||
|
|
|
+ HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer, xen_vcpu_nr(cpu),
|
|
|
+ NULL))
|
|
|
BUG();
|
|
|
|
|
|
return 0;
|
|
@@ -234,7 +236,8 @@ static int xen_vcpuop_set_oneshot(struct clock_event_device *evt)
|
|
|
{
|
|
|
int cpu = smp_processor_id();
|
|
|
|
|
|
- if (HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer, cpu, NULL))
|
|
|
+ if (HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer, xen_vcpu_nr(cpu),
|
|
|
+ NULL))
|
|
|
BUG();
|
|
|
|
|
|
return 0;
|
|
@@ -253,7 +256,8 @@ static int xen_vcpuop_set_next_event(unsigned long delta,
|
|
|
/* Get an event anyway, even if the timeout is already expired */
|
|
|
single.flags = 0;
|
|
|
|
|
|
- ret = HYPERVISOR_vcpu_op(VCPUOP_set_singleshot_timer, cpu, &single);
|
|
|
+ ret = HYPERVISOR_vcpu_op(VCPUOP_set_singleshot_timer, xen_vcpu_nr(cpu),
|
|
|
+ &single);
|
|
|
BUG_ON(ret != 0);
|
|
|
|
|
|
return ret;
|
|
@@ -352,7 +356,8 @@ void xen_timer_resume(void)
|
|
|
return;
|
|
|
|
|
|
for_each_online_cpu(cpu) {
|
|
|
- if (HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer, cpu, NULL))
|
|
|
+ if (HYPERVISOR_vcpu_op(VCPUOP_stop_periodic_timer,
|
|
|
+ xen_vcpu_nr(cpu), NULL))
|
|
|
BUG();
|
|
|
}
|
|
|
}
|
|
@@ -372,7 +377,8 @@ static void __init xen_time_init(void)
|
|
|
|
|
|
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, xen_vcpu_nr(cpu),
|
|
|
+ NULL) == 0) {
|
|
|
/* Successfully turned off 100Hz tick, so we have the
|
|
|
vcpuop-based timer interface */
|
|
|
printk(KERN_DEBUG "Xen: using vcpuop timer interface\n");
|