From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jacob Gorm Hansen Subject: Re: To use xcs or not? Date: Sun, 20 Feb 2005 22:23:53 -0800 Message-ID: <42197E79.6030504@diku.dk> References: <42184ECD.1080904@diku.dk> <4218C302.2070900@codemonkey.ws> <421951AE.2030805@diku.dk> <42196BC8.7000008@codemonkey.ws> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit In-Reply-To: <42196BC8.7000008@codemonkey.ws> Sender: xen-devel-admin@lists.sourceforge.net Errors-To: xen-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: Anthony Liguori Cc: xen-devel List-Id: xen-devel@lists.xenproject.org Anthony Liguori wrote: > Jacob Gorm Hansen wrote: > >> OK, I actually got the impression that using XCS was the easiest way >> around the problem, as you seem to need a lot of code for setting up >> your own channel (which I can copy-paste from somewhere I am sure). > > > For just using notify, it's quite simply. The control channels are > complicated because of the ring queue stuff. If you were implementing > this as a virtual device in vm-tools (of course, I'm not bias ;-)), all > you would do is open /dev/evtchn and add that to the set of listener fds > (see the console device for an example of this). > > You would also need to allocate a port for notifications (vmm_alloc_port > in vm-tools or xc_evtchn_bind_interdomain otherwise). The easiest thing > to do would be to use a well known endpoint (anything above 10 should be > relatively safe for now although you'll probably need to negotiate it in > the future). > Right now, in my domU driver I have: gfx_irq = bind_evtchn_to_irq(117); printk("got irq %d\n", gfx_irq); request_irq(gfx_irq, gfx_interrupt, SA_SAMPLE_RANDOM, "gfx", 0); /which should get me interrupts when channel 117 gets notified, right? > When you get a read event on /dev/evtchn, all you do is read a 2 byte > value from it. This will be the port the event happened on. You'll > also have to unmask the event by writing that same value back to the > device. > >> Can I setup my own event channel in the guest, and still access it >> using /dev/evtchn in dom0? Hmm from looking at the code in drivers/xen/evtchn/evtchn.c, it seems if I write to this device, I can unmask local event channels, but there is no notion of a target domain. If I want to notify eventchannel #117 in, say, domain 5, how can I do that from dom0 using /dev/xen/evtchn? Thanks, Jacob ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click