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

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



On Fri, Mar 19, 2010 at 12:39:04PM +0100, Bastian Blank wrote:
> So the question is: Is it wrong for the kernel to do register_gsi calls
> early in bootup for interrupts it does not know anything about?

I digged a bit further. Native Linux does the following:
- Setup all interrupts into the IO-APIC but don't fix them yet. This way
  it can be programmed later if the real setup is known.
- During device setup the IO-APIC is written once, this value can't be
  changed later.

I hacked it now that it forbids access to interrupts the hypervisor
wants to use and setting the pin to edge-driven does not lock it, but
this is only a workaround. It is now able to drive all my USB devices.

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.

Bastian

-- 
It is a human characteristic to love little animals, especially if
they're attractive in some way.
                -- McCoy, "The Trouble with Tribbles", stardate 4525.6

_______________________________________________
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®.