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

[Xen-devel] [RFC][PATCH 4/6] HVM PCI Passthrough (non-IOMMU)


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Guy Zana" <guy@xxxxxxxxxxxx>
  • Date: Thu, 31 May 2007 19:06:21 -0400
  • Delivery-date: Thu, 31 May 2007 16:07:44 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: Acej2E1juVhMSFpbRnuzdID01/diyQ==
  • Thread-topic: [RFC][PATCH 4/6] HVM PCI Passthrough (non-IOMMU)

int.patch:

    - Supports only level-triggered interrupts. Edge interrupts support
will be 
      added shortly (should be fairly simple)
    - Change polarity trick: in order to reflect the external device's
assertion
      state, the ioapic pin gets its polarity changed whenever an
interrupt
      occur. So an interrupt is generated when the _external_ line is
asserted 
      (then, polarity change is done) and another interrupt when the
_external_ 
      line is deassered (as a result from the polarity change), this
continues 
      repeatedly. 
    - It is implemented by introducing a new hw_interrupt_type, which is
exactly 
      the same as the ioapic_level_type hw_interrupt_type with its end()

      callback replaced (see io_apic.c for more details).
    - State machine:
      Whenever an interrupt occur (both for an assertion or
deassertion):
          1. Ack & Mask the interrupt
          2. Assert/Deassert virtual line of NativeDom (Interrupt
action).
          3. Change pin's polarity
          4. EOI & Unmask

Signed-off-by: Guy Zana <guy@xxxxxxxxxxxx>

Attachment: int.patch
Description: int.patch

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