[Top][All Lists]

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

Re: [Qemu-devel] [RfC / Patch] xenner: event channel implementation.

From: Gerd Hoffmann
Subject: Re: [Qemu-devel] [RfC / Patch] xenner: event channel implementation.
Date: Thu, 23 Apr 2009 12:30:00 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1b3pre) Gecko/20090324 Fedora/3.0-2.1.beta2.fc11 Thunderbird/3.0b2

On 04/22/09 18:23, Avi Kivity wrote:
Gerd Hoffmann wrote:
The function calls in the source code (xen backend drivers) are not
changed directly, but using a include file with a bunch of #defines.
That way I don't have to change s/xc_evtchn_/xc_evtchn./ all over the
place. Also xenner can easily be disabled at compile time and the
indirect function pointer calls simply go away then.

I don't think the last bit is worthwhile. Function pointers these days
are pretty fast, their cost will be dwarfed by the syscall and hypercall

- --disable-xen) xen="no"
+ --disable-xen) xen="no"; xenner="no"

It would be nice to be able to build without the original Xen libraries.

Hmm. I'll at least need the xen header files (at build time) anyway. Making xen and xenner independent config options and don't link the xen libraries for the !xen case should work without too much hassle (have to make the function pointers mandatory then though).

+static struct domain *get_domain(int domid)
+ struct domain *domain;

Curious, can there be any domain other than the guest and the fake dom0
you're emulating?

No. It is the case for the current xenner implementation. The event channels are handled by a daemon then and the guests can talk to each other. This code is derived from the daemon. When moving xenner into qemu the event channels allow only host <=> guest communication, so that can probably simplified a bit. Not sure that would save that much code though. I'll have a look.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]