[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Hypervisor crash setting up GIC (arm32)


  • To: xen-devel@xxxxxxxxxxxxx
  • From: Thomas Leonard <talex5@xxxxxxxxx>
  • Date: Tue, 22 Apr 2014 18:26:45 +0100
  • Delivery-date: Tue, 22 Apr 2014 17:27:08 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

On 22 April 2014 15:11, Thomas Leonard <talex5@xxxxxxxxx> wrote:
> Hi guys,
>
> I've got a bit further and I'm now trying to get Mini-OS to handle
> interrupts.  [...] my IRQ handler keeps being called (continuously)
> with spurious interrupts (interrupt 1023). If anyone knows what might cause 
> that, let me know!

For reference, the problem here was this code:

    gic_disable_interrupts(&gic);
    gic_cpu_set_priority(&gic, 0xff);
    gic_enable_interrupt(&gic, EVENTS_IRQ /* interrupt number */, 0x1
/*cpu_set*/, 1 /*level_sensitive*/, 0 /* ppi */);
    gic_enable_interrupt(&gic, VIRTUALTIMER_IRQ /* interrupt number
*/, 0x1 /*cpu_set*/, 1 /*level_sensitive*/, 1 /* ppi */);
    gic_enable_interrupts(&gic);

As soon as EVENTS_IRQ was enabled in gic_enable_interrupt, the IRQ
handler got called continuously with spurious interrupts and no
progress could be made.

The solution is to call gic_enable_interrupts *before* enabling the
individual interrupts.

The patch is on my Mini-OS branch here:

  https://github.com/talex5/xen/tree/minios-arm-port


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.