From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:38565) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SANFO-0007AJ-AI for qemu-devel@nongnu.org; Wed, 21 Mar 2012 11:14:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SANFI-0003Ey-4U for qemu-devel@nongnu.org; Wed, 21 Mar 2012 11:14:45 -0400 Received: from mail-gy0-f173.google.com ([209.85.160.173]:45995) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SANFI-0003Eh-02 for qemu-devel@nongnu.org; Wed, 21 Mar 2012 11:14:40 -0400 Received: by ghrr14 with SMTP id r14so1202979ghr.4 for ; Wed, 21 Mar 2012 08:14:38 -0700 (PDT) Message-ID: <4F69F05B.5010500@codemonkey.ws> Date: Wed, 21 Mar 2012 10:14:35 -0500 From: Anthony Liguori MIME-Version: 1.0 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> In-Reply-To: <20120321151043.GA22707@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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: "Michael S. Tsirkin" Cc: qemu-trivial@nongnu.org, Stefan Hajnoczi , Rusty Russell , qemu-devel@nongnu.org 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 >>> >>>