qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2] Fix pc migration from qemu <= 1.5


From: Alex Williamson
Subject: Re: [Qemu-devel] [PATCH v2] Fix pc migration from qemu <= 1.5
Date: Mon, 04 Nov 2013 21:19:42 -0700

On Tue, 2013-10-08 at 15:35 -0400, Cole Robinson wrote:
> The following commit introduced a migration incompatibility:
> 
> commit 568f0690fd9aa4d39d84b04c1a5dbb53a915c3fe
> Author: David Gibson <address@hidden>
> Date:   Thu Jun 6 18:48:49 2013 +1000
> 
>     pci: Replace pci_find_domain() with more general pci_root_bus_path()
> 
> The issue is that i440fx savevm idstr went from 0000:00:00.0/I440FX to
> 0000:00.0/I440FX. Unfortunately we are stuck with the breakage for
> 1.6 machine types.
> 
> Add a compat property to maintain the busted idstr for the 1.6 machine
> types, but revert to the old style format for 1.7+, and <= 1.5.
> 
> Tested with migration from qemu 1.5, qemu 1.6, and qemu.git.
> 
> Cc: address@hidden
> Signed-off-by: Cole Robinson <address@hidden>
> ---
> 
> v2:
>     Drop needless 1.7 compat bits
> 
>  hw/pci-host/piix.c        |  9 ++++++++-
>  hw/pci-host/q35.c         | 10 ++++++++--
>  include/hw/i386/pc.h      | 16 ++++++++++++++++
>  include/hw/pci-host/q35.h |  1 +
>  4 files changed, 33 insertions(+), 3 deletions(-)
...
> diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> index 9b2ddc4..79f6934 100644
> --- a/include/hw/i386/pc.h
> +++ b/include/hw/i386/pc.h
> @@ -230,6 +230,14 @@ int e820_add_entry(uint64_t, uint64_t, uint32_t);
>              .driver   = "e1000",\
>              .property = "mitigation",\
>              .value    = "off",\
> +        },{\
> +            .driver   = "i440FX-pcihost",\
> +            .property = "short_root_bus",\
> +            .value    = stringify(1),\
> +        },{\
> +            .driver   = "mch",\
> +            .property = "short_root_bus",\
> +            .value    = stringify(1),\

This should be "q35-pcihost" in place of "mch".  Same below.  Otherwise
a q35 machine just fails with a property not found error.  Thanks,

Alex

>          }
>  
>  #define PC_COMPAT_1_5 \
> @@ -266,6 +274,14 @@ int e820_add_entry(uint64_t, uint64_t, uint32_t);
>              .driver = TYPE_X86_CPU,\
>              .property = "pmu",\
>              .value = "on",\
> +        },{\
> +            .driver   = "i440FX-pcihost",\
> +            .property = "short_root_bus",\
> +            .value    = stringify(0),\
> +        },{\
> +            .driver   = "mch",\
> +            .property = "short_root_bus",\
> +            .value    = stringify(0),\
>          }
>  
>  #define PC_COMPAT_1_4 \





reply via email to

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