On Tue, 2013-10-08 at 15:35 -0400, Cole Robinson wrote: > The following commit introduced a migration incompatibility: > > commit 568f0690fd9aa4d39d84b04c1a5dbb53a915c3fe > Author: David Gibson <da...@gibson.dropbear.id.au> > 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: qemu-sta...@nongnu.org > Signed-off-by: Cole Robinson <crobi...@redhat.com> > --- > > 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 \