From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MxJYK-0004mG-8J for qemu-devel@nongnu.org; Mon, 12 Oct 2009 07:59:00 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MxJYF-0004kw-GJ for qemu-devel@nongnu.org; Mon, 12 Oct 2009 07:58:59 -0400 Received: from [199.232.76.173] (port=45840 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MxJYF-0004kj-AZ for qemu-devel@nongnu.org; Mon, 12 Oct 2009 07:58:55 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35454) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MxJYE-0006zA-Nm for qemu-devel@nongnu.org; Mon, 12 Oct 2009 07:58:55 -0400 Message-ID: <4AD319F6.70506@redhat.com> Date: Mon, 12 Oct 2009 13:58:46 +0200 From: Gerd Hoffmann MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: [PATCH v2 9/9] Add -kvm option References: <1254953315-5761-2-git-send-email-glommer@redhat.com> <1254953315-5761-3-git-send-email-glommer@redhat.com> <1254953315-5761-4-git-send-email-glommer@redhat.com> <1254953315-5761-5-git-send-email-glommer@redhat.com> <1254953315-5761-6-git-send-email-glommer@redhat.com> <1254953315-5761-7-git-send-email-glommer@redhat.com> <1254953315-5761-8-git-send-email-glommer@redhat.com> <1254953315-5761-9-git-send-email-glommer@redhat.com> <1254953315-5761-10-git-send-email-glommer@redhat.com> <4ACD1D92.8080607@us.ibm.com> <20091007231405.GQ8092@mothafucka.localdomain> <4ACD2414.9000401@codemonkey.ws> In-Reply-To: <4ACD2414.9000401@codemonkey.ws> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Andre Przywara , Glauber Costa , Anthony Liguori , qemu-devel@nongnu.org On 10/08/09 01:28, Anthony Liguori wrote: > Glauber Costa wrote: >> even if we have qdev on the irq controllers, one could still come up with >> situations in which we'd like to force the use of one device over >> another. > > Right, my assumption is that the devices will have different qdev names > and therefore a user can select which one gets used. > > Right now, -device is just additive. I'm not sure the best way to > express something like, replace this existing device with this new > device. Maybe some trickery with id=. Gerd, any thoughts? -M $machine gives you a barebone machine with all core devices which belong to it. You can't easily remove and/or replace devices. Especially not something central as the IRQ controller. But also no other core components, i.e. you wouldn't stick a piix4 ide controller into a Q35 machine. Just say 'no'. That leaves two options: (1) create two devices, create new machines which use the kvm versions (aka -M pc-kvm). (2) make using the in-kernel kvm code a device property. I think (2) is the way to go. Especially with multiple devices having kvm support (apic, pit, more?) (1) becomes unmanageable. Right now there is no way to set properties for devices *not* added via -device[1]. We'll need support for that anyway though (to set rtc properties for example), so we can have a apic.kvm property and switch between user/kernel implementions using it. cheers, Gerd [1] my idea for implementing that is extending the compat property mechanism.