xen/events: support threaded irqs for interdomain event channels
Export bind_interdomain_evtchn_to_irq() so drivers can use threaded interrupt handlers with: irq = bind_interdomain_evtchn_to_irq(remote_dom, remote_port); if (irq < 0) /* error */ ret = request_threaded_irq(...); Signed-off-by: Juergen Gross <jgross@suse.com> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
This commit is contained in:
parent
46e3626adb
commit
854072dd0f
|
@ -900,7 +900,7 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
|
||||||
return irq;
|
return irq;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int bind_interdomain_evtchn_to_irq(unsigned int remote_domain,
|
int bind_interdomain_evtchn_to_irq(unsigned int remote_domain,
|
||||||
unsigned int remote_port)
|
unsigned int remote_port)
|
||||||
{
|
{
|
||||||
struct evtchn_bind_interdomain bind_interdomain;
|
struct evtchn_bind_interdomain bind_interdomain;
|
||||||
|
@ -914,6 +914,7 @@ static int bind_interdomain_evtchn_to_irq(unsigned int remote_domain,
|
||||||
|
|
||||||
return err ? : bind_evtchn_to_irq(bind_interdomain.local_port);
|
return err ? : bind_evtchn_to_irq(bind_interdomain.local_port);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(bind_interdomain_evtchn_to_irq);
|
||||||
|
|
||||||
static int find_virq(unsigned int virq, unsigned int cpu)
|
static int find_virq(unsigned int virq, unsigned int cpu)
|
||||||
{
|
{
|
||||||
|
|
|
@ -28,6 +28,8 @@ int bind_ipi_to_irqhandler(enum ipi_vector ipi,
|
||||||
unsigned long irqflags,
|
unsigned long irqflags,
|
||||||
const char *devname,
|
const char *devname,
|
||||||
void *dev_id);
|
void *dev_id);
|
||||||
|
int bind_interdomain_evtchn_to_irq(unsigned int remote_domain,
|
||||||
|
unsigned int remote_port);
|
||||||
int bind_interdomain_evtchn_to_irqhandler(unsigned int remote_domain,
|
int bind_interdomain_evtchn_to_irqhandler(unsigned int remote_domain,
|
||||||
unsigned int remote_port,
|
unsigned int remote_port,
|
||||||
irq_handler_t handler,
|
irq_handler_t handler,
|
||||||
|
|
Loading…
Reference in New Issue