From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37053) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VdqL9-0002H7-QU for qemu-devel@nongnu.org; Tue, 05 Nov 2013 18:47:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VdqL5-0006sH-EN for qemu-devel@nongnu.org; Tue, 05 Nov 2013 18:47:19 -0500 Message-ID: <5279837D.9060004@redhat.com> Date: Tue, 05 Nov 2013 18:47:09 -0500 From: Cole Robinson MIME-Version: 1.0 References: <929fa6790ab298186744b719583a47a3a3872e96.1381260841.git.crobinso@redhat.com> <1383625182.21055.99.camel@ul30vt.home> In-Reply-To: <1383625182.21055.99.camel@ul30vt.home> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2] Fix pc migration from qemu <= 1.5 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alex Williamson Cc: mst@redhat.com, qemu-stable@nongnu.org, qemu-devel@nongnu.org, bsd@redhat.com, pbonzini@redhat.com, david@gibson.dropbear.id.au On 11/04/2013 11:19 PM, Alex Williamson wrote: > On Tue, 2013-10-08 at 15:35 -0400, Cole Robinson wrote: >> The following commit introduced a migration incompatibility: >> >> commit 568f0690fd9aa4d39d84b04c1a5dbb53a915c3fe >> Author: David Gibson >> 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-stable@nongnu.org >> Signed-off-by: Cole Robinson >> --- >> >> 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, > Thanks, v3 sent now. - Cole