diff options
author | Vitaly Kuznetsov <vkuznets@redhat.com> | 2016-06-30 11:56:40 -0400 |
---|---|---|
committer | David Vrabel <david.vrabel@citrix.com> | 2016-07-25 08:34:06 -0400 |
commit | 8058c0b897e7d1ba5c900cb17eb82aa0d88fca53 (patch) | |
tree | ed12c71a7f09b02c96cc260d11eec241a2c3e3f5 | |
parent | e15a8621935cac527b4e0ed4078d24c3e5ef73a6 (diff) |
xen/events: use xen_vcpu_id mapping in events_base
EVTCHNOP_bind_ipi and EVTCHNOP_bind_virq pass vCPU id as a parameter
and Xen's idea of vCPU id should be used. Use the newly introduced
xen_vcpu_id mapping to convert it from Linux's id.
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
-rw-r--r-- | drivers/xen/events/events_base.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c index 8fb7cbf33fc9..d5dbdb9d24d8 100644 --- a/drivers/xen/events/events_base.c +++ b/drivers/xen/events/events_base.c | |||
@@ -895,7 +895,7 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu) | |||
895 | irq_set_chip_and_handler_name(irq, &xen_percpu_chip, | 895 | irq_set_chip_and_handler_name(irq, &xen_percpu_chip, |
896 | handle_percpu_irq, "ipi"); | 896 | handle_percpu_irq, "ipi"); |
897 | 897 | ||
898 | bind_ipi.vcpu = cpu; | 898 | bind_ipi.vcpu = xen_vcpu_nr(cpu); |
899 | if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_ipi, | 899 | if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_ipi, |
900 | &bind_ipi) != 0) | 900 | &bind_ipi) != 0) |
901 | BUG(); | 901 | BUG(); |
@@ -991,7 +991,7 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu, bool percpu) | |||
991 | handle_edge_irq, "virq"); | 991 | handle_edge_irq, "virq"); |
992 | 992 | ||
993 | bind_virq.virq = virq; | 993 | bind_virq.virq = virq; |
994 | bind_virq.vcpu = cpu; | 994 | bind_virq.vcpu = xen_vcpu_nr(cpu); |
995 | ret = HYPERVISOR_event_channel_op(EVTCHNOP_bind_virq, | 995 | ret = HYPERVISOR_event_channel_op(EVTCHNOP_bind_virq, |
996 | &bind_virq); | 996 | &bind_virq); |
997 | if (ret == 0) | 997 | if (ret == 0) |
@@ -1319,7 +1319,7 @@ static int rebind_irq_to_cpu(unsigned irq, unsigned tcpu) | |||
1319 | 1319 | ||
1320 | /* Send future instances of this interrupt to other vcpu. */ | 1320 | /* Send future instances of this interrupt to other vcpu. */ |
1321 | bind_vcpu.port = evtchn; | 1321 | bind_vcpu.port = evtchn; |
1322 | bind_vcpu.vcpu = tcpu; | 1322 | bind_vcpu.vcpu = xen_vcpu_nr(tcpu); |
1323 | 1323 | ||
1324 | /* | 1324 | /* |
1325 | * Mask the event while changing the VCPU binding to prevent | 1325 | * Mask the event while changing the VCPU binding to prevent |
@@ -1459,7 +1459,7 @@ static void restore_cpu_virqs(unsigned int cpu) | |||
1459 | 1459 | ||
1460 | /* Get a new binding from Xen. */ | 1460 | /* Get a new binding from Xen. */ |
1461 | bind_virq.virq = virq; | 1461 | bind_virq.virq = virq; |
1462 | bind_virq.vcpu = cpu; | 1462 | bind_virq.vcpu = xen_vcpu_nr(cpu); |
1463 | if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_virq, | 1463 | if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_virq, |
1464 | &bind_virq) != 0) | 1464 | &bind_virq) != 0) |
1465 | BUG(); | 1465 | BUG(); |
@@ -1483,7 +1483,7 @@ static void restore_cpu_ipis(unsigned int cpu) | |||
1483 | BUG_ON(ipi_from_irq(irq) != ipi); | 1483 | BUG_ON(ipi_from_irq(irq) != ipi); |
1484 | 1484 | ||
1485 | /* Get a new binding from Xen. */ | 1485 | /* Get a new binding from Xen. */ |
1486 | bind_ipi.vcpu = cpu; | 1486 | bind_ipi.vcpu = xen_vcpu_nr(cpu); |
1487 | if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_ipi, | 1487 | if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_ipi, |
1488 | &bind_ipi) != 0) | 1488 | &bind_ipi) != 0) |
1489 | BUG(); | 1489 | BUG(); |