|
|
@@ -1293,7 +1293,7 @@ void rebind_evtchn_irq(int evtchn, int irq)
|
|
|
}
|
|
|
|
|
|
/* Rebind an evtchn so that it gets delivered to a specific cpu */
|
|
|
-int xen_rebind_evtchn_to_cpu(int evtchn, unsigned tcpu)
|
|
|
+static int xen_rebind_evtchn_to_cpu(int evtchn, unsigned int tcpu)
|
|
|
{
|
|
|
struct evtchn_bind_vcpu bind_vcpu;
|
|
|
int masked;
|
|
|
@@ -1327,7 +1327,6 @@ int xen_rebind_evtchn_to_cpu(int evtchn, unsigned tcpu)
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
-EXPORT_SYMBOL_GPL(xen_rebind_evtchn_to_cpu);
|
|
|
|
|
|
static int set_affinity_irq(struct irq_data *data, const struct cpumask *dest,
|
|
|
bool force)
|
|
|
@@ -1341,6 +1340,15 @@ static int set_affinity_irq(struct irq_data *data, const struct cpumask *dest,
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
+/* To be called with desc->lock held. */
|
|
|
+int xen_set_affinity_evtchn(struct irq_desc *desc, unsigned int tcpu)
|
|
|
+{
|
|
|
+ struct irq_data *d = irq_desc_get_irq_data(desc);
|
|
|
+
|
|
|
+ return set_affinity_irq(d, cpumask_of(tcpu), false);
|
|
|
+}
|
|
|
+EXPORT_SYMBOL_GPL(xen_set_affinity_evtchn);
|
|
|
+
|
|
|
static void enable_dynirq(struct irq_data *data)
|
|
|
{
|
|
|
int evtchn = evtchn_from_irq(data->irq);
|