The problem you're having is essentially the same as the user-level interrupt handler problem I've been dealing with for ages.
The basic rule is: don't share interrupts between devices on the host and devices in the guest. But you *can* share interrupts between devices in a single guest. If you want the code, see http://www.gelato.unsw.edu.au/cgi-bin/viewvc.cgi/cvs/kernel/usrdrivers/latest/ and look at generic-irq.patch and fasync (which adds asynchronous notifications) For the KVM work it'll need modifying a little, but the basic infrastructure is there. We've currently got this working to pass interrupts to a type-II (hosted) virtual machine monitor running a guest kernel with native drivers. -- Dr Peter Chubb http://www.gelato.unsw.edu.au peterc AT gelato.unsw.edu.au http://www.ertos.nicta.com.au ERTOS within National ICT Australia - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/