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? > >>> > >>>