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 /drivers/xen | |
| 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>
Diffstat (limited to 'drivers/xen')
| -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(); |
