[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] simple backend, frontend
> Hi, > > Sorry I seem to be stuck and asking similar questions. > > > > linux-2.6.9-xen-sparse/arch/xen/kernel/evtchn.c > > > > That's the one in kernel users will call into. > > That file does not contain any code to create event channels. > > > Do I have to write some code in Xen tht uses xen/common/event_channel.c > creates > an event channel on init. And then pass the port returned to some > other program which passes it to the other domain? The 'old' model for creating event channels was that xend would create them and pass each domain the id of its end. So no creation code needed in XenLinux. The 'new' model (in which one domain creates an unbound port that the other end then connects to) is rather recent and so no drivers in XenLinux use it, so there's no code to steal. :-) evtchn.c is all about receipt and demux of events. You should create your own code to create an unbound port, then you should use bind_evtchn_to_irq() to get yourself a Linux IRQ number that you can then get interrupts for by using 'request_irq()'. If you're implementing a user-space driver then you won't want to bind into the Linux IRQ subsystem -- instead you would open /dev/xen/evtchn, bind to your event-channel port, then read() or poll() your file descriptor. Currently only one process can have /dev/xen/evtchn open at any time, but I know of at least two patches to fix this, so I guess one of these ought to be checked in to the tree! So, yes, in short, you have to write the bit of code that you describe in your email. :-) -- Keir ------------------------------------------------------- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |