[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] simple backend, frontend


  • To: Keir Fraser <keir.fraser@xxxxxxxxxxxx>
  • From: Deepak Manohar <mjdeepak@xxxxxxxxx>
  • Date: Wed, 17 Nov 2004 13:27:33 -0500
  • Cc: mark.williamson@xxxxxxxxxxxx, andrew.warfield@xxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Wed, 17 Nov 2004 20:19:10 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=bNMGsYImI8TD7kqTDQA+YlKDuV+H7KBnvagcs4UZX0cBAlc4zF01fjddMZ9c/FOzGsUZZwBuoYl7UXvtv2uaoFVgzxuB0mH+x0OeyRrgJ2LG0wIz5gLaN1tLDmZuRkAGnFcpISOAlkcnilvIzTMMTs4eW6gCEzTANEGWCUGCijI=
  • List-id: List for Xen developers <xen-devel.lists.sourceforge.net>

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


 


Rackspace

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