qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Anthony Liguori <aliguori@us.ibm.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	"Mian M. Hamayun" <m.hamayun@virtualopensystems.com>,
	patches@linaro.org, Markus Armbruster <armbru@redhat.com>,
	qemu-devel@nongnu.org, kvmarm@lists.cs.columbia.edu
Subject: Re: [Qemu-devel] Versioned machine types for ARM/non-x86 ? (Was Re: [PATCH v4 0/2] ARM: add 'virt' platform)
Date: Mon, 5 Aug 2013 14:49:16 +0100	[thread overview]
Message-ID: <20130805134915.GE5108@redhat.com> (raw)
In-Reply-To: <87ob9cz2p9.fsf@codemonkey.ws>

On Mon, Aug 05, 2013 at 08:28:50AM -0500, Anthony Liguori wrote:
> "Daniel P. Berrange" <berrange@redhat.com> writes:
> 
> > On Mon, Aug 05, 2013 at 12:18:10PM +0100, Peter Maydell wrote:
> >> This patch series adds a 'virt' platform which uses the
> >> kernel's mach-virt (fully device-tree driven) support
> >> to create a simple minimalist platform intended for
> >> use for KVM VM guests. It's based on John Rigby's
> >> patches, but I've overhauled it a lot:
> >
> > On x86, we've long had versioned machine names, so that we can
> > make changes in future QEMU releases without breaking guest ABI
> > compatibility. AFAICT, the problem has basically been ignored
> > on non-x86 platforms in QEMU. Given the increased interest in
> > ARM in particular, should we use the addition of this new 'virt'
> > machine type, as an opportunity to introduce versioning for
> > ARM too. eg make this machine be called 'virt-1.0.6' and then
> > have 'virt' simply be an alias that points to the most recent
> > version.
> 
> I've been thinking about this for SPAPR too.  Like virt, I'm not sure
> the platform is stable enough for this but I expect it to be soon.

BTW, do you have any tests / scripts you use to validate the machine
type stability prior to cutting releases ?

Seems like it ought to be able to have some custom initrd which
just recorded contents of various sysfs/procfs files & perhaps PCI
device config space blobs. Then just boot the QEMU release candidate
binaries with this initrd & compare the results to previously recorded
data, for each machine type ?  If the records for each machine type
were checked into GIT, you could arguably do this as part of 'make test'
so developers can see if something they're doing is breaking ABI by
mistake.

> However, unlike PC, I'd like to do linear versioning and avoid bumping
> at every release.
> 
> IOW, spapr-1, spapr-2, spapr-3, etc.
> 
> I think virt ought to try to do the same.

Any particular reason why ? I kind of like the clarity of having the
version match the release version. Avoids needing to lookup a magic
decoder ring to figure out which QEMU version maps to which machine
version.

Would you say that stable release branches should not accept any
patch that changes guest ABI, to avoid this single component version
number turning into a 2 component version on stable branches ?

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

  reply	other threads:[~2013-08-05 13:49 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-05 11:18 [Qemu-devel] [PATCH v4 0/2] ARM: add 'virt' platform Peter Maydell
2013-08-05 11:18 ` [Qemu-devel] [PATCH v4 1/2] ARM: Allow boards to provide an fdt blob Peter Maydell
2013-08-05 11:18 ` [Qemu-devel] [PATCH v4 2/2] ARM: Add 'virt' platform Peter Maydell
2013-08-05 11:20   ` Peter Maydell
2013-08-05 11:48   ` Anup Patel
2013-08-05 12:01     ` Peter Maydell
2013-08-05 12:22       ` Anup Patel
2013-08-05 12:28         ` Peter Maydell
2013-08-05 12:37           ` Anup Patel
2013-08-05 12:43             ` Peter Maydell
2013-08-05 12:49 ` [Qemu-devel] Versioned machine types for ARM/non-x86 ? (Was Re: [PATCH v4 0/2] ARM: add 'virt' platform) Daniel P. Berrange
2013-08-05 13:02   ` Peter Maydell
2013-08-05 13:50     ` Daniel P. Berrange
2013-08-05 13:28   ` Anthony Liguori
2013-08-05 13:49     ` Daniel P. Berrange [this message]
2013-08-05 14:12       ` Anthony Liguori
2013-08-05 15:06         ` Gerd Hoffmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130805134915.GE5108@redhat.com \
    --to=berrange@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=armbru@redhat.com \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=m.hamayun@virtualopensystems.com \
    --cc=patches@linaro.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).