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

Re: [Xen-devel] pvops-2.6.32 - Interrupt routing problem



On 03/21/2010 02:47 PM, Bastian Blank wrote:
On Fri, Mar 19, 2010 at 01:13:41PM +0100, Bastian Blank wrote:
The real fix could be:
- Allow the hypervisor to lock interrupts it uses. Zero would be in it by
   default. The interrupt for the used serial interface would be added.
   All other pins are free to be programmed by the kernel once.
- Don't do register_gsi calls from the initial setup in the kernel if no
   ACPI override is present, only setup the rest.
Okay, I think I found another problem. Currently the setup looks like
this:
- PHYSDEVOP_setup_gsi: set trigger and polarity, unmask pin
- PHYSDEVOP_map_pirq: map to pirq, set irq handler to guest

If an interrupt fires between this two calles, what happens?

Doesn't sound like a good thing to be doing. The unmask should probably be deferred until everything has been set up to receive an interrupt.

Usually I would do the setup the other way around. This would also make
it possible to use the irq table to allow the kernel to only set IO-APIC
pins mapped to already properly registered interrupts.

Sounds reasonable.

    J


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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