aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVitaly Kuznetsov <vkuznets@redhat.com>2016-06-30 11:56:40 -0400
committerDavid Vrabel <david.vrabel@citrix.com>2016-07-25 08:34:06 -0400
commit8058c0b897e7d1ba5c900cb17eb82aa0d88fca53 (patch)
treeed12c71a7f09b02c96cc260d11eec241a2c3e3f5
parente15a8621935cac527b4e0ed4078d24c3e5ef73a6 (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.c10
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();