From: Stefano Stabellini Date: Fri, 2 Mar 2012 14:04:57 +0000 (+0000) Subject: xen/arm: receive Xen events through PPI 31 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=b06de6f99cc644dec62d822038f949e298ddf8d2;p=people%2Fsstabellini%2Flinux-pvhvm-deprecated.git xen/arm: receive Xen events through PPI 31 Signed-off-by: Stefano Stabellini --- diff --git a/arch/arm/common/gic.c b/arch/arm/common/gic.c index 410a546060a..b46a89dfd52 100644 --- a/arch/arm/common/gic.c +++ b/arch/arm/common/gic.c @@ -316,7 +316,7 @@ static void __init gic_dist_init(struct gic_chip_data *gic) irq_set_percpu_devid(irq); irq_set_chip_and_handler(irq, &gic_chip, handle_percpu_devid_irq); - set_irq_flags(irq, IRQF_VALID | IRQF_NOAUTOEN); + set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); } else { irq_set_chip_and_handler(irq, &gic_chip, handle_fasteoi_irq); diff --git a/drivers/xen/events.c b/drivers/xen/events.c index 18139ee7f3c..eae0d0bbb0c 100644 --- a/drivers/xen/events.c +++ b/drivers/xen/events.c @@ -1732,7 +1732,7 @@ void __init xen_init_IRQ(void) #endif } #ifdef CONFIG_ARM -#define IRQ_EVTCHN_CALLBACK 63 +#define IRQ_EVTCHN_CALLBACK 31 irqreturn_t xen_arm_callback(int irq, void *arg) { __xen_evtchn_do_upcall(); @@ -1743,9 +1743,8 @@ int __init xen_init_IRQ_arm(void) { int rc; xen_init_IRQ(); - rc = request_irq(IRQ_EVTCHN_CALLBACK, xen_arm_callback, - IRQF_DISABLED | IRQF_NOBALANCING | IRQF_TRIGGER_RISING, - "events", "events"); + rc = request_percpu_irq(IRQ_EVTCHN_CALLBACK, xen_arm_callback, + "events", xen_vcpu); if (rc) { printk(KERN_ERR "Error requesting IRQ %d\n", IRQ_EVTCHN_CALLBACK); }