From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=41389 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Pfc4A-00077a-MI for qemu-devel@nongnu.org; Wed, 19 Jan 2011 12:43:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Pfc49-0001ph-Nu for qemu-devel@nongnu.org; Wed, 19 Jan 2011 12:43:30 -0500 Received: from e8.ny.us.ibm.com ([32.97.182.138]:58976) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Pfc49-0001pZ-KC for qemu-devel@nongnu.org; Wed, 19 Jan 2011 12:43:29 -0500 Received: from d01dlp02.pok.ibm.com (d01dlp02.pok.ibm.com [9.56.224.85]) by e8.ny.us.ibm.com (8.14.4/8.13.1) with ESMTP id p0JHPVIe017789 for ; Wed, 19 Jan 2011 12:26:04 -0500 Received: from d01relay02.pok.ibm.com (d01relay02.pok.ibm.com [9.56.227.234]) by d01dlp02.pok.ibm.com (Postfix) with ESMTP id 273644DE8026 for ; Wed, 19 Jan 2011 12:40:11 -0500 (EST) Received: from d03av01.boulder.ibm.com (d03av01.boulder.ibm.com [9.17.195.167]) by d01relay02.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p0JHhSIb385408 for ; Wed, 19 Jan 2011 12:43:28 -0500 Received: from d03av01.boulder.ibm.com (loopback [127.0.0.1]) by d03av01.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p0JHhRtr032054 for ; Wed, 19 Jan 2011 10:43:27 -0700 Message-ID: <4D3722BB.5030407@linux.vnet.ibm.com> Date: Wed, 19 Jan 2011 11:43:23 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 28/35] kvm: x86: Introduce kvmclock device to save/restore its state References: <4D35B6DD.1020005@linux.vnet.ibm.com> <4D35B963.7000605@siemens.com> <4D35BA22.7060602@linux.vnet.ibm.com> <4D35BD30.1060900@siemens.com> <4D35C1CE.10509@linux.vnet.ibm.com> <4D35C648.7050809@siemens.com> <4D35C92D.7030000@linux.vnet.ibm.com> <4D36B362.70202@redhat.com> <4D371732.5040901@linux.vnet.ibm.com> <20110119171918.GI5113@redhat.com> In-Reply-To: <20110119171918.GI5113@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Daniel P. Berrange" Cc: "kvm@vger.kernel.org" , Jan Kiszka , Glauber Costa , Marcelo Tosatti , Markus Armbruster , "qemu-devel@nongnu.org" , Gerd Hoffmann , Avi Kivity On 01/19/2011 11:19 AM, Daniel P. Berrange wrote: > > In our past experiance though, *not* specifying attributes like > these has also been pretty bad from a forward compatibility > perspective too. We're kind of damned either way, so on balance > we decided we'd specify every attribute in qdev that's related > to unique identification of devices& their inter-relationships. > By strictly locking down the topology we were defining, we ought > to have a more stable ABI in face of future changes. I accept > this might not always work out, so we may have to adjust things > over time still. Predicting the future is hard :-) > There are two distinct things here: 1) creating exactly the same virtual machine (like for migration) given a newer version of QEMU 2) creating a reasonably similar virtual machine given a newer version of QEMU For (1), you cannot use -M pc. You should use things like bus=X,addr=Y much better is for QEMU to dump a device file and to just reuse that instead of guessing what you need. For (2), you cannot use bus=X,addr=Y because it makes assumptions about the PCI topology which may change in newer -M pc's. I think libvirt needs to treat this two scenarios differently to support forwards compatibility. Regards, Anthony Liguori > Daniel >