From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53710) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wz5ib-0007Fv-Ur for qemu-devel@nongnu.org; Mon, 23 Jun 2014 10:59:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wz5iS-00066O-TP for qemu-devel@nongnu.org; Mon, 23 Jun 2014 10:59:37 -0400 Received: from mail-wi0-x229.google.com ([2a00:1450:400c:c05::229]:53108) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wz5iS-00066A-FX for qemu-devel@nongnu.org; Mon, 23 Jun 2014 10:59:28 -0400 Received: by mail-wi0-f169.google.com with SMTP id hi2so4541341wib.0 for ; Mon, 23 Jun 2014 07:59:26 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <53A840C8.8060607@redhat.com> Date: Mon, 23 Jun 2014 16:59:20 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <53A8366B.1020301@ozlabs.ru> In-Reply-To: <53A8366B.1020301@ozlabs.ru> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] machines and versions - why so many? List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexey Kardashevskiy , "qemu-devel@nongnu.org" Cc: Paul Mackerras , =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= , Alexander Graf Il 23/06/2014 16:15, Alexey Kardashevskiy ha scritto: > Hi! > > I have been hearing recently that we (server PPC) should have more that > just one pseries machine in QEMU because this is what everybody else does :) If you want to support live upgrades from QEMU 2.1 to QEMU 2.2, you should indeed prepare by adding a stable name such as pseries-2.1 already in QEMU 2.1. > My current understanding is that multiple machines (like > pc-i440fx-1.4..2.1, and many others) are needed: > > 3) for devices which are created explicitly and for which we want some > capabilities be disabled and we do not want to bother about this every time > we run QEMU; This is not the exact reason. What you wrote _could_ be a reason to use compat_properties, but it is not why x86 has multiple machine types. The reason is because when you migrate from QEMU 1.7 to QEMU 2.1, the machine should behave exactly the same as it did in QEMU 1.7. Any guest-visible change introduced between QEMU 1.7 and QEMU 2.1 (*) must be removed from QEMU 2.1. This is the reason why x86 has one machine type per version. (*) X got faster is not a guest-visible change. A guest-visible change is something like: - a register gets a new default value - a register that was read-only is now read-write - the size of a memory region changed (e.g. a ROM BAR grew from 128k to 256k) Sometimes, if no known guest is using the register (e.g. only firmware uses it) it is okay to skip the creation of the compat property. However, if in doubt, better add it. > ok, this one makes some sense for "pseries" to have (and upcoming > endianness register on VGA seems to be the case) but it seems that adding a > "compat" or "feature" property to the VGA device (and other devices which > deal with this kind of compatibility) is still more architecturally correct > thing to do, and let libvirt deal with the rest. Yes, this sounds sensible. Paolo > Since I (almost) always miss the bigger picture, what do I miss now? :) Thanks! > >