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

Re: [Xen-devel] Multiple IRQ's in HVM for Windows


  • To: James Harper <james.harper@xxxxxxxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
  • Date: Sat, 27 Dec 2008 10:22:58 +0000
  • Cc:
  • Delivery-date: Sat, 27 Dec 2008 02:23:31 -0800
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AclnCjPkeAYvm5WbTaqM+PmGGNFiHQAIdYQ3AAU6BeAAATbLsQAADYFAAADLT9kALf9OEAABLL7gAAAL4JAAAN6snAAABoKQAADccJA=
  • Thread-topic: [Xen-devel] Multiple IRQ's in HVM for Windows

On 27/12/2008 10:03, "James Harper" <james.harper@xxxxxxxxxxxxxxxx> wrote:

> The driver for the xen platform PCI device is a 'bus driver' under
> windows, and enumerates child devices. When it enumerates a child
> device, I can say 'and allocate me an interrupt line'.

So these child devices don't have to have a physical manifestation in PCI
space? And you can really request an arbitrary IRQ and then you are expected
to plumb it through? That sounds weird, but actually quite helpful for us.

Probably we'd implement it with an hvm_op to associate an event channel with
an IO-APIC pin or a local APIC vector. If implemented as wire-OR into a set
of IO-APIC pins, we'd need logic to deassert wires when event channels
become not-pending, before the wire gets resampled by the PIC/IO-APIC. It's
all easier if we can directly deliver to a LAPIC vector because those are
inherently edge-triggered / message-based (which I think is what we really
want; although it's more complicated if we need to be able to share a LAPIC
vector among several event channels without 'losing' edges).

 -- Keir



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