On ARM irqs are not enabled by default:
- call enable_percpu_irq for IRQ_EVTCHN_CALLBACK;
- set the IRQF_VALID flag for the other irqs bound to evtchns. It causes
IRQ_NOAUTOEN to be set and as a consequence irq_unmask is going to be
called when a xenbus driver calls request_irq.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
#include <xen/interface/hvm/params.h>
#include <xen/interface/physdev.h>
#include <xen/interface/sched.h>
+#include <asm/hw_irq.h>
/*
* This lock protects updates to the following mapping and reference-count
xen_irq_info_evtchn_init(irq, evtchn);
}
+ set_irq_flags(irq, IRQF_VALID);
out:
mutex_unlock(&irq_mapping_update_lock);
if (rc) {
printk(KERN_ERR "Error requesting IRQ %d\n", IRQ_EVTCHN_CALLBACK);
}
+ enable_percpu_irq(IRQ_EVTCHN_CALLBACK, 0);
return rc;
}
core_initcall(xen_init_IRQ_arm);