[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] simple backend, frontend
Hi, Writing a custom backend driver...... can a custom backend driver be a module in the linux kernel or does it have to be built in? write now the backend and front end are very simple. a user level program establishes a shared event channel using - libxc. this part is complete. this is the plan for the next part but need some info: i manually plan to install the module passing the eventchannel port. as a command line argument to the module. but i need to know if a linux kernel module can access the xen api such as "bind_evtchn_to_irq". thanks. Deepak On Sun, 14 Nov 2004 15:42:44 +0000, Keir Fraser <keir.fraser@xxxxxxxxxxxx> wrote: > > > > 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 |