Commit 8058c0b8 authored by Vitaly Kuznetsov's avatar Vitaly Kuznetsov Committed by David Vrabel

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: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
parent e15a8621
...@@ -895,7 +895,7 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu) ...@@ -895,7 +895,7 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
irq_set_chip_and_handler_name(irq, &xen_percpu_chip, irq_set_chip_and_handler_name(irq, &xen_percpu_chip,
handle_percpu_irq, "ipi"); handle_percpu_irq, "ipi");
bind_ipi.vcpu = cpu; bind_ipi.vcpu = xen_vcpu_nr(cpu);
if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_ipi, if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_ipi,
&bind_ipi) != 0) &bind_ipi) != 0)
BUG(); BUG();
...@@ -991,7 +991,7 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu, bool percpu) ...@@ -991,7 +991,7 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu, bool percpu)
handle_edge_irq, "virq"); handle_edge_irq, "virq");
bind_virq.virq = virq; bind_virq.virq = virq;
bind_virq.vcpu = cpu; bind_virq.vcpu = xen_vcpu_nr(cpu);
ret = HYPERVISOR_event_channel_op(EVTCHNOP_bind_virq, ret = HYPERVISOR_event_channel_op(EVTCHNOP_bind_virq,
&bind_virq); &bind_virq);
if (ret == 0) if (ret == 0)
...@@ -1319,7 +1319,7 @@ static int rebind_irq_to_cpu(unsigned irq, unsigned tcpu) ...@@ -1319,7 +1319,7 @@ static int rebind_irq_to_cpu(unsigned irq, unsigned tcpu)
/* Send future instances of this interrupt to other vcpu. */ /* Send future instances of this interrupt to other vcpu. */
bind_vcpu.port = evtchn; bind_vcpu.port = evtchn;
bind_vcpu.vcpu = tcpu; bind_vcpu.vcpu = xen_vcpu_nr(tcpu);
/* /*
* Mask the event while changing the VCPU binding to prevent * Mask the event while changing the VCPU binding to prevent
...@@ -1459,7 +1459,7 @@ static void restore_cpu_virqs(unsigned int cpu) ...@@ -1459,7 +1459,7 @@ static void restore_cpu_virqs(unsigned int cpu)
/* Get a new binding from Xen. */ /* Get a new binding from Xen. */
bind_virq.virq = virq; bind_virq.virq = virq;
bind_virq.vcpu = cpu; bind_virq.vcpu = xen_vcpu_nr(cpu);
if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_virq, if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_virq,
&bind_virq) != 0) &bind_virq) != 0)
BUG(); BUG();
...@@ -1483,7 +1483,7 @@ static void restore_cpu_ipis(unsigned int cpu) ...@@ -1483,7 +1483,7 @@ static void restore_cpu_ipis(unsigned int cpu)
BUG_ON(ipi_from_irq(irq) != ipi); BUG_ON(ipi_from_irq(irq) != ipi);
/* Get a new binding from Xen. */ /* Get a new binding from Xen. */
bind_ipi.vcpu = cpu; bind_ipi.vcpu = xen_vcpu_nr(cpu);
if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_ipi, if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_ipi,
&bind_ipi) != 0) &bind_ipi) != 0)
BUG(); BUG();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment