qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH for-2.8.1 v2] machine: Convert abstract typename


From: Cornelia Huck
Subject: Re: [Qemu-devel] [PATCH for-2.8.1 v2] machine: Convert abstract typename on compat_props to subclass names
Date: Tue, 13 Dec 2016 12:49:20 +0100

On Mon, 12 Dec 2016 18:49:05 -0200
Eduardo Habkost <address@hidden> wrote:

> Original problem description by Greg Kurz:
> 
> > Since commit "9a4c0e220d8a hw/virtio-pci: fix virtio
> > behaviour", passing -device virtio-blk-pci.disable-modern=off
> > has no effect on 2.6 machine types because the internal
> > virtio-pci.disable-modern=on compat property always prevail.
> 
> The same bug also affects other abstract type names mentioned on
> compat_props by machine-types: apic-common, i386-cpu, pci-device,
> powerpc64-cpu, s390-skeys, spapr-pci-host-bridge, usb-device,
> virtio-pci, x86_64-cpu.
> 
> The right fix for this problem is to make sure compat_props and
> -global options are always applied in the order they are
> registered, instead of reordering them based on the type
> hierarchy. But changing the ordering rules of -global is risky
> and might break existing configurations, so we shouldn't do that
> on a stable branch.
> 
> This is a temporary hack that will work around the bug when
> registering compat_props properties: if we find an abstract class
> on compat_props, register properties for all its non-abstract
> subtypes instead. This will make sure -global won't be overridden
> by compat_props, while keeping the existing ordering rules on
> -global options.
> 
> Note that there's one case that won't be fixed by this hack:
> "-global spapr-pci-vfio-host-bridge.<option>=<value>" won't be
> able to override compat_props, because spapr-pci-host-bridge is
> not an abstract class.

Hm...

static void spapr_phb_vfio_instance_init(Object *obj)
{
    if (!qtest_enabled()) {
        error_report("spapr-pci-vfio-host-bridge is deprecated");
    }
}

I guess we can live with that :)

> 
> Signed-off-by: Eduardo Habkost <address@hidden>
> ---
> Changes v1 (RFC) -> v2:
> * New commit message
> * Clarified comments
>   Suggested-by: Halil Pasic <address@hidden>
> * Moved variable declaration outside of loop
>   Suggested-by: Cornelia Huck <address@hidden>
> ---
>  hw/core/machine.c | 39 ++++++++++++++++++++++++++++++++++++---
>  1 file changed, 36 insertions(+), 3 deletions(-)

Reviewed-by: Cornelia Huck <address@hidden>




reply via email to

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