qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [Qemu-devel] [PATCH] Remove PCI class code from virti


From: Michael S. Tsirkin
Subject: Re: [Qemu-trivial] [Qemu-devel] [PATCH] Remove PCI class code from virtio balloon device
Date: Wed, 21 Mar 2012 20:11:27 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Wed, Mar 21, 2012 at 11:26:50AM -0500, Anthony Liguori wrote:
> On 03/21/2012 11:11 AM, Michael S. Tsirkin wrote:
> >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?
> 
> I don't see a problem making it fixed for 1.1, but for 1.0 and
> older, we should expose what we were supposed to expose.
> We need to fix the bug first, then we can change the behavior.
> 
> Regards,
> 
> Anthony Liguori
> 
> >
> >>>>>
> >>>>>

Makes sense to me.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]