From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:35436) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SAO8v-000226-1Y for qemu-devel@nongnu.org; Wed, 21 Mar 2012 12:12:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SAO8l-0007qA-4v for qemu-devel@nongnu.org; Wed, 21 Mar 2012 12:12:08 -0400 Date: Wed, 21 Mar 2012 18:11:57 +0200 From: "Michael S. Tsirkin" Message-ID: <20120321161155.GA23460@redhat.com> References: <1332133163-7890-1-git-send-email-david@gibson.dropbear.id.au> <20120319113310.GD30033@stefanha-thinkpad.localdomain> <20120320004206.GB22089@truffala.fritz.box> <20120320101947.GA19542@truffala.fritz.box> <20120321112615.GA15090@stefanha-thinkpad.localdomain> <20120321130852.GC21467@redhat.com> <4F69E8E1.8050004@codemonkey.ws> <20120321151043.GA22707@redhat.com> <4F69F05B.5010500@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4F69F05B.5010500@codemonkey.ws> Subject: Re: [Qemu-devel] [PATCH] Remove PCI class code from virtio balloon device List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: qemu-trivial@nongnu.org, Stefan Hajnoczi , Rusty Russell , qemu-devel@nongnu.org On Wed, Mar 21, 2012 at 10:14:35AM -0500, Anthony Liguori wrote: > On 03/21/2012 10:10 AM, Michael S. Tsirkin wrote: > >On Wed, Mar 21, 2012 at 09:42:41AM -0500, Anthony Liguori wrote: > >>On 03/21/2012 08:08 AM, Michael S. Tsirkin wrote: > >>>On Wed, Mar 21, 2012 at 11:26:15AM +0000, Stefan Hajnoczi wrote: > >>>>On Tue, Mar 20, 2012 at 09:19:47PM +1100, David Gibson wrote: > >>>>Looking at hw/pc_piix.c there are QEMUMachine types for each QEMU > >>>>release. Legacy machine types (e.g. pc_machine_v0_14) have a > >>>>.compat_props array that can override qdev properties. > >>>> > >>>>Perhaps Michael Tsirkin or someone else can comment on how to wire up > >>>>hw/virtio-pci.c so that the class code can be overridden. > >>>> > >>>>Stefan > >>> > >>>afaik we already let users over-write it for some other pci devices, > >>>look there for examples. > >> > >> From hw/pc_piix.c: > >> > >> .name = "pc-0.10", > >> .desc = "Standard PC, qemu 0.10", > >> .init = pc_init_pci_no_kvmclock, > >> .max_cpus = 255, > >> .compat_props = (GlobalProperty[]) { > >> { > >> .driver = "virtio-blk-pci", > >> .property = "class", > >> .value = stringify(PCI_CLASS_STORAGE_OTHER), > >> },{ > >> > >>And from the earlier part of the thread, yes, it's imperative that > >>we do not change anything in the PCI configuration space for older > >>pc versions regardless of whether it may or may not work. > >> > >>Certain guests (like Windows) use a complex fingerprinting algorithm > >>to determine when hardware changes. It can be hard to detect in > >>simple testing because it's based on a threshold. > >> > >>Regards, > >> > >>Anthony Liguori > > > >Which reminds me - qemu sticks the release version in > >guest visible places like CPU version. > >This is wrong and causes windows guests to print messages > >about driver updates when you switch. > >We should find all these places and stop doing this. > > We could probably get away with doing a query/replace of > QEMU_VERSION with qemu_get_version(), make version a static variable > that defaults to QEMU_VERSION, and then provide a way for machines > to override it. > > Then pc-0.10 could report a version of 0.10. > > Regards, > > Anthony Liguori Frankly I don't see value in making it visible to the user, at all. We are just triggering windows reactivations without any user benefit. Why not return a fixed value there to avoid that? > >>> > >>>