From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1ISeGF-0006WQ-2x for qemu-devel@nongnu.org; Tue, 04 Sep 2007 15:40:31 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1ISeGD-0006Ub-HV for qemu-devel@nongnu.org; Tue, 04 Sep 2007 15:40:30 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ISeGD-0006UV-DN for qemu-devel@nongnu.org; Tue, 04 Sep 2007 15:40:29 -0400 Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1ISeGC-0007SG-Lw for qemu-devel@nongnu.org; Tue, 04 Sep 2007 15:40:28 -0400 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1ISeG4-00037v-UJ for qemu-devel@nongnu.org; Tue, 04 Sep 2007 21:40:21 +0200 Received: from bi01p1.co.us.ibm.com ([32.97.110.142]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 04 Sep 2007 21:40:20 +0200 Received: from hollisb by bi01p1.co.us.ibm.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 04 Sep 2007 21:40:20 +0200 From: Hollis Blanchard Date: Tue, 4 Sep 2007 19:40:10 +0000 (UTC) Message-ID: References: <1aa37d910709020650v7c491985r761886db64435ac0@mail.gmail.com> <1188852253.10151.3.camel@squirrel> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: news Subject: [Qemu-devel] Re: qemu device emulation libraries (was [PATCH] Patches from the PyQemu project) Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On Mon, 03 Sep 2007 15:44:13 -0500, Anthony Liguori wrote: > On Mon, 2007-09-03 at 18:41 +0300, Blue Swirl wrote: >> On 9/2/07, Maria Zabolotnaya wrote: >> > 2-qemu-mplugin.patch >> > Add -mplugin switch to allow loading of shared library and registering a >> > machine declared in it. >> >> Sorry to ruin your GSoC project, but the plugin system was discussed >> last year, please see this thread: >> http://thread.gmane.org/gmane.comp.emulators.qemu/14341/focus=14473 > > I've always agreed that allowing plugins was not a good idea. However, > I had a different thought recently. > > While I don't think there's much of a reason to allow plugins for QEMU, > it would be interesting to make some of QEMU's device emulation into > more a of a library that could be used by other programs. > > With things like KVM making it relatively simple to do CPU emulation, if > QEMU's device emulation was available as a library (even a GPL library), > it would be pretty easy to do interesting things without forking QEMU > which is what everyone seems to be doing these days. > > My initial thought is to make the libraries at the individual device > level. This could be very valuable when thinking about running qemu *on* embedded systems with constrained memory and processing power, which is exactly what the KVM for embedded PowerPC project is considering. In that scenario, being able to strip out all unnecessary functionality (especially including devices known to be irrelevant) becomes very important. Strictly speaking, creating a library isn't required to meet that goal, but it will enforce the modularity we need, and IMHO that is just good coding practice. (I'm not even talking about Anthony's points about avoiding qemu forks, which I also agree with.) -- Hollis Blanchard IBM Linux Technology Center