This patch provides request_evtchn and free_evtchn, intended to be used instead of bind_evtchn_to_irq/request_irq and free_irq/unbind_evtchn_from_irq. This allows architectures to implement event channels as they see fit, not necessarily using Linux IRQs. Tested to still work on x86. Matt _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 1 Aug 2005, at 23:32, Matt Chapman wrote:> This patch provides request_evtchn and free_evtchn, intended > to be used instead of bind_evtchn_to_irq/request_irq and > free_irq/unbind_evtchn_from_irq. This allows architectures > to implement event channels as they see fit, not necessarily > using Linux IRQs.Why would you not hook into the IRQ subsystem? This doesn''t seem like a useful patch to me. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Tue, Aug 02, 2005 at 12:43:43PM +0100, Keir Fraser wrote:> > On 1 Aug 2005, at 23:32, Matt Chapman wrote: > > >This patch provides request_evtchn and free_evtchn, intended > >to be used instead of bind_evtchn_to_irq/request_irq and > >free_irq/unbind_evtchn_from_irq. This allows architectures > >to implement event channels as they see fit, not necessarily > >using Linux IRQs. > > Why would you not hook into the IRQ subsystem? This doesn''t seem like a > useful patch to me.I''m trying to keep all the Xen drivers and related infrastructure in modules - IMHO domains that aren''t paravirtualised should be able to use the optimised drivers too, plus it makes development easier. irq_desc isn''t exported from the Linux kernel on most architectures, so I''m not sure how one would "hook into" the IRQ subsystem in that way from a module. Also, this limits the number of event channels to NR_IRQS (minus the ones that are used in other ways). Instead I have the event channel subsystem register for a single IRQ and then demultiplex internally (in the way that is already done by evtchn_do_upcall). Matt _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser wrote:> > On 1 Aug 2005, at 23:32, Matt Chapman wrote: > >> This patch provides request_evtchn and free_evtchn, intended >> to be used instead of bind_evtchn_to_irq/request_irq and >> free_irq/unbind_evtchn_from_irq. This allows architectures >> to implement event channels as they see fit, not necessarily >> using Linux IRQs. > > > Why would you not hook into the IRQ subsystem? This doesn''t seem like a > useful patch to me.This abstraction is useful for getting VBD/VNIF working as modules on unmodified Linux running on VT domains (both x86 and ia64). -Arun _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Matt Chapman <> wrote:> On Tue, Aug 02, 2005 at 12:43:43PM +0100, Keir Fraser wrote: > > I''m trying to keep all the Xen drivers and related infrastructure in > modules - IMHO domains that aren''t paravirtualised should be able to > use the optimised drivers too, plus it makes development easier. > > irq_desc isn''t exported from the Linux kernel on most architectures, > so I''m not sure how one would "hook into" the IRQ subsystem in that > way from a module. Also, this limits the number of event channels to > NR_IRQS (minus the ones that are used in other ways). Instead I have > the event channel subsystem register for a single IRQ and then > demultiplex internally (in the way that is already done by > evtchn_do_upcall).Yes, currently, when I make a frontend driver to module in unmodified vmx domain, I need to change request_irq to xen_request_irq, and use a seperate irq spaced for these para-driver. if frontend driver use request_evtchn, then I don''t need the change and just implement a new request_evtchn(), _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel