From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hollis Blanchard Subject: Re: portability layer? Date: Wed, 28 Mar 2007 13:50:43 -0500 Message-ID: <1175107843.1653.69.camel@basalt> References: <1174944048.29357.11.camel@basalt> <4608C06C.2000708@qumranet.com> <1175091978.1653.17.camel@basalt> <460A8E44.5080305@qumranet.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org To: Avi Kivity Return-path: In-Reply-To: <460A8E44.5080305-atKUWr5tajBWk0Htik3J/w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org On Wed, 2007-03-28 at 17:48 +0200, Avi Kivity wrote: > Hollis Blanchard wrote: > > On Tue, 2007-03-27 at 08:57 +0200, Avi Kivity wrote: > >> > >> I don't think we should be aiming at full source portability. > >> Virtualization is inherently nonportable, and as it is mostly done in > >> hardware, software gets to do the quirky stuff that the hardware people > >> couldn't bother with :) instead we should be aiming at code reuse. > >> > > > > I'm not sure I see the distinction you're making. Operating systems > > could also be considered "inherently nonportable", yet Linux and the > > BSDs support an enormous range of platforms. If you're saying that we > > shouldn't try to run x86 MMU code on a PowerPC then I can't agree > > more. :) > > No, I'm saying that some #ifdeffery in both libkvm and the ioctl > interface is unavoidable. If by #ifdeffery you mean having per-architecture definitions of structures like kvm_regs, absolutely. If you mean literal #ifdefs in the middle a header file, I believe that can and should be avoided. > Right now this is handled by qemu, which means our higher level tools > are _already_ nonportable. Yes, but not *all* the higher level tools are. At some point you have a common interface, and at this point I think I've answered my own question: the qemu monitor connection is the portable interface. That means everything layered above qemu, such as libvirt and thus virt-manager, should work on all architectures +/- without changes. Lower-level software, such as GDB, would need per-architecture support. > [I have a feeling we're talking a little past each other, probably due > to me not knowing ppc at any level of detail. No doubt things will > become clearer when the code arrives] I don't have any code for you, but you will be the first to know when I do. :) Right now I'm just trying to make sure we don't accidentally paint ourselves into a corner with a stable ABI. -Hollis ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV