For a driver domain, do interrupts for the devices that service that domain get handled by the driver domain itself, or by domain 0 first? Which code should I read to understand how this works? thanks, Mike Day _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Hi Mike, Interrupts are passed on to the domain that registers the irq handler (and only priviledged domains are allowed to do so). Hence the interrupt would be sent directly to driver domain (unless it is being shared by multiple domains, in which case it would go to all the domains). A good start would be to look at xen/arch/x86/irq.c, specifically at pirq_guest_bind, pirq_guest_unbind and __do_IRQ_guest. HTH, -Himanshu On Tue, Jul 18, 2006 at 02:32:27PM -0400, Mike D. Day wrote:> For a driver domain, do interrupts for the devices that service that > domain get handled by the driver domain itself, or by domain 0 first? > > Which code should I read to understand how this works? > > thanks, > > Mike Day > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel-- ------------------------------------------------------------------------- Himanshu Raj PhD Student, GaTech (www.cc.gatech.edu/~rhim) I prefer to receive attachments in an open, non-proprietary format. ------------------------------------------------------------------------- _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
> For a driver domain, do interrupts for the devices that service that > domain get handled by the driver domain itself, or by domain 0 first?They are fielded by Xen then passed on as events direct to the domain. If the line is shared, it will send events to both domains (though interrupt sharing should be avoided). Dom0 is only involved with the interrupt ''plumbing'', when the interrupt is first configured. Ian _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Himanshu Raj wrote:> Hi Mike, > > Interrupts are passed on to the domain that registers the irq handler (and > only priviledged domains are allowed to do so). Hence the interrupt would be > sent directly to driver domain (unless it is being shared by multiple domains, > in which case it would go to all the domains). > > A good start would be to look at xen/arch/x86/irq.c, specifically at pirq_guest_bind, > pirq_guest_unbind and __do_IRQ_guest. >Himanshu thanks to you and Ian for responding! Mike _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel