[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.