All of lore.kernel.org
 help / color / mirror / Atom feed
From: Grant Likely <grant.likely@linaro.org>
To: Christoffer Dall <christoffer.dall@linaro.org>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Ian Campbell <ian.campbell@citrix.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	cross-distro@lists.linaro.org,
	"marc.zyngier@arm.com" <marc.zyngier@arm.com>,
	Laszlo Ersek <lersek@redhat.com>,
	Michael Casadevall <Michael.casadevall@linaro.org>,
	Rob Herring <rob.herring@linaro.org>,
	xen-devel@lists.xen.org,
	Stefano Stabellini <stefano.stabellini@citrix.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Jordan Justen <jljusten@gmail.com>,
	"kvmarm@lists.cs.columbia.edu" <kvmarm@lists.cs.columbia.edu>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [RFC] ARM VM System Sepcification
Date: Sat, 22 Mar 2014 12:23:54 +0000	[thread overview]
Message-ID: <20140322122354.7644FC418C4__25122.0831451521$1395491190$gmane$org@trevor.secretlab.ca> (raw)
In-Reply-To: <20140322010206.GF25519@cbox>

On Fri, 21 Mar 2014 19:29:50 -0700, Christoffer Dall <christoffer.dall@linaro.org> wrote:
> On Fri, Mar 07, 2014 at 08:24:18PM +0800, Grant Likely wrote:
> > On Thu, 6 Mar 2014 12:04:50 +0000, Robie Basak <robie.basak@canonical.com> wrote:
> > > On Thu, Mar 06, 2014 at 12:44:57PM +0100, Laszlo Ersek wrote:
> > > > If I understand correctly, the question is this:
> > > > 
> > > >   Given a hypervisor that doesn't support non-volatile UEFI variables
> > > >   (including BootOrder and Boot####), is it possible to automatically
> > > >   boot a carefully prepared VM image, made available as a fixed media
> > > >   device?
> > > > 
> > > > The answer is "yes". See
> > > 
> > > Right, but I think there is a subsequent problem.
> > > 
> > > >   It is expected that this default boot will load an operating system or
> > > >   a maintenance utility. If this is an operating system setup program it
> > > >   is then responsible for setting the requisite environment variables
> > > >   for subsequent boots. The platform firmware may also decide to recover
> > >         ^^^^^^^^^^^^^^^^
> > > >   or set to a known set of boot options.
> > > 
> > > It seems to me that the guest OS is permitted to assume that persistent
> > > boot variables will work after first boot, for subsequent boots.
> > > 
> > > So, for example, the guest OS might, on bootloader or kernel upgrade,
> > > completely replace the boot mechanism, dropping the removable path and
> > > replacing it with a fixed disk arrangement, setting boot variables
> > > appropriately, and assume that it can reboot and everything will
> > > continue to work.
> > > 
> > > But if the host does not support non-volatile variables, then this will
> > > break.
> > 
> > Correct
> > 
> > > This is why I'm suggesting that the specification mandate that the guest
> > > OS shipped in a "portable disk image" as defined by the spec must not
> > > make this assumption.
> > 
> > Also correct... the installer must be aware of this constraint which is
> > why it is part of the draft spec.
> > 
> > > It's either this, or mandate that all hosts must support persistent
> > > variables. I have no objection to that in principle, but since we have
> > > no implementation currently, it seems easier to avoid this particular
> > > roadblock by tweaking the spec in a way that nobody seems to care about
> > > anyway.
> > 
> > Right. I guess my position is that if persistent storage is not
> > implemented then there are a number of install/upgrade scenarios that
> > won't work. Regardless, portable images must assume an empty boot list
> > and we can build that into the spec.
> > 
> 
> Sorry for the delay in responding - all sorts of unexpected things
> happened when I returned from LCA14.
> 
> I agree on the technical discussion going on here.  My conclusion is
> that we have two options:
> 
> 1. Simply mandate that VM implementations support persistent variables
>    for their UEFI implementation - with whatever constraints that may
>    put on higher level tools.
> 
> 2. Require that OSes shipped as part of compliant VM images make no
>    assumption that changes to the UEFI environment will be stored.
> 
> I feel that option number two will break in all sorts of cases, just
> like Grant stated above, and it is fundamentally not practical; if a
> distribution ships Linux with a UEFI stub that expects to be able to do
> something, distributions must modify Linux to conform to this spec.  I
> think imagining that this spec controls how UEFI support in Linux/Grub
> is done in general would be overreaching.  Additionally, Michael brought
> up the fact that it would be non-UEFI compliant.

That isn't actually my position. I absolutely think that VMs /should/
implement persistent variables, but the variables are a property of a VM
instance, not of the disk image. As far as this spec is concerned, I
think portable disk images should operate under the assumption of an
empty set of variables, and therefore follow the removable disk
requirements in the UEFI spec.

I would propose a modification to option 1:

VM implementations SHOULD to implement persistent variables for
their UEFI implementation - with whatever constraints that may be put on
higher level tools. Variable storage SHALL be a property of a VM
instance, but SHALL NOT be stored as part of a portable disk image.
Portable disk images SHALL conform to the UEFI removable disk
requirements from the UEFI spec.

g.

  parent reply	other threads:[~2014-03-22 12:23 UTC|newest]

Thread overview: 222+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-26 18:34 [RFC] ARM VM System Sepcification Christoffer Dall
2014-02-26 18:34 ` Christoffer Dall
2014-02-26 19:27 ` Christopher Covington
2014-02-26 19:27   ` Christopher Covington
2014-02-26 19:51   ` Christoffer Dall
2014-02-26 19:51   ` Christoffer Dall
2014-02-26 19:51     ` Christoffer Dall
2014-02-27 13:12     ` Christopher Covington
2014-02-27 13:12     ` Christopher Covington
2014-02-27 13:12       ` Christopher Covington
2014-02-27 16:02       ` Christoffer Dall
2014-02-27 16:02         ` Christoffer Dall
2014-02-27 16:02       ` Christoffer Dall
2014-03-01 15:41       ` Grant Likely
2014-03-01 15:41         ` Grant Likely
2014-02-26 19:27 ` Christopher Covington
2014-02-26 19:55 ` Arnd Bergmann
2014-02-26 19:55   ` Arnd Bergmann
2014-02-26 20:05   ` Christoffer Dall
2014-02-26 20:05     ` Christoffer Dall
2014-02-26 20:22     ` Arnd Bergmann
2014-02-26 20:22       ` Arnd Bergmann
     [not found]       ` < CABGGisxHOVqLcG7hVAuAzdeic41KWSLLBSjQLSJQcjTXLhNCow@mail.gmail.com>
2014-02-26 21:56       ` Rob Herring
2014-02-26 21:56       ` Rob Herring
2014-02-26 21:56         ` Rob Herring
2014-02-26 22:21         ` Christoffer Dall
2014-02-26 22:21         ` Christoffer Dall
2014-02-26 22:21           ` Christoffer Dall
2014-02-27  7:30           ` Arnd Bergmann
2014-02-27  7:30           ` Arnd Bergmann
2014-02-27  7:30             ` Arnd Bergmann
2014-02-27 10:05             ` Paolo Bonzini
2014-02-27 10:05             ` Paolo Bonzini
2014-02-27 10:05               ` Paolo Bonzini
2014-03-01 19:12           ` Grant Likely
2014-03-01 19:12           ` Grant Likely
2014-03-01 19:12             ` Grant Likely
2014-02-26 20:22     ` Arnd Bergmann
2014-02-27  9:35     ` Catalin Marinas
2014-02-27  9:35       ` Catalin Marinas
2014-02-27  9:35     ` Catalin Marinas
2014-02-26 20:05   ` Christoffer Dall
2014-02-26 20:19   ` Paolo Bonzini
2014-02-26 20:19   ` Paolo Bonzini
2014-02-26 20:19     ` Paolo Bonzini
2014-02-26 20:20     ` Peter Maydell
2014-02-26 20:20       ` Peter Maydell
2014-02-26 20:20     ` Peter Maydell
2014-02-26 21:48   ` Leif Lindholm
2014-02-26 21:48     ` Leif Lindholm
2014-02-26 22:25     ` Christoffer Dall
2014-02-26 22:25       ` Christoffer Dall
2014-03-01 19:20       ` Grant Likely
2014-03-01 19:20       ` Grant Likely
2014-03-01 19:20         ` Grant Likely
2014-02-26 22:25     ` Christoffer Dall
2014-02-27 12:31     ` Stefano Stabellini
2014-02-27 12:31       ` Stefano Stabellini
2014-02-27 14:00       ` Arnd Bergmann
2014-02-27 14:00         ` Arnd Bergmann
2014-02-27 14:24         ` Alexander Graf
2014-02-27 14:24           ` Alexander Graf
2014-02-27 19:56           ` Arnd Bergmann
2014-02-27 19:56           ` Arnd Bergmann
2014-02-27 19:56             ` Arnd Bergmann
2014-02-28  0:05             ` Alexander Graf
2014-02-28  0:05             ` Alexander Graf
2014-02-28  0:05               ` Alexander Graf
2014-02-28 10:01               ` Arnd Bergmann
     [not found]               ` <CB7DBE07-42BD-4588-AC9E-CB0BF95A811A-l3A5Bk7waGM@public.gmane.org>
2014-02-28 10:01                 ` Arnd Bergmann
2014-02-28 10:01                   ` Arnd Bergmann
2014-02-28 13:38                 ` Riku Voipio
2014-02-28 13:38               ` Riku Voipio
2014-02-28 14:44               ` Stefano Stabellini
2014-02-28 14:44                 ` Stefano Stabellini
2014-02-28 14:44               ` Stefano Stabellini
2014-02-27 14:24         ` Alexander Graf
2014-03-01 19:25         ` Grant Likely
2014-03-01 19:25           ` Grant Likely
2014-03-01 19:25         ` Grant Likely
2014-02-27 14:00       ` Arnd Bergmann
2014-02-27 12:31     ` Stefano Stabellini
2014-02-26 21:48   ` Leif Lindholm
2014-02-26 22:49   ` Rob Herring
2014-02-26 22:49     ` Rob Herring
2014-02-26 22:54     ` Peter Maydell
2014-02-26 22:54       ` Peter Maydell
2014-02-26 23:08       ` Rob Herring
2014-02-26 23:08       ` Rob Herring
2014-02-26 23:08         ` Rob Herring
2014-02-26 23:14         ` Peter Maydell
2014-02-26 23:14           ` Peter Maydell
2014-02-27  4:06           ` Nicolas Pitre
2014-02-27  4:06             ` Nicolas Pitre
2014-02-27  4:06           ` Nicolas Pitre
2014-02-26 23:14         ` Peter Maydell
2014-02-27 11:36         ` Robie Basak
2014-02-27 11:36           ` Robie Basak
2014-02-27 11:36         ` Robie Basak
2014-02-26 22:54     ` Peter Maydell
2014-02-26 23:13     ` Christopher Covington
2014-02-26 23:13     ` Christopher Covington
2014-02-26 23:13       ` Christopher Covington
2014-02-26 22:49   ` Rob Herring
2014-02-26 19:55 ` Arnd Bergmann
2014-02-26 21:05 ` Michael Hudson-Doyle
2014-02-26 21:05 ` Michael Hudson-Doyle
2014-02-26 21:05   ` Michael Hudson-Doyle
2014-02-26 21:08   ` Christoffer Dall
2014-02-26 21:08     ` Christoffer Dall
2014-02-26 21:08   ` Christoffer Dall
2014-02-26 22:35 ` Grant Likely
2014-02-26 22:47   ` Christoffer Dall
2014-02-26 22:47     ` Christoffer Dall
2014-02-26 22:47   ` Christoffer Dall
2014-02-27 12:27   ` Stefano Stabellini
2014-02-27 12:27   ` Stefano Stabellini
2014-02-27 12:27     ` Stefano Stabellini
2014-03-01 19:54     ` Grant Likely
2014-02-27 12:55   ` Peter Maydell
2014-02-27 12:55     ` Peter Maydell
2014-02-27 12:55   ` Peter Maydell
2014-02-26 22:35 ` Grant Likely
2014-02-27  0:41 ` Blibbet
2014-02-27  0:41   ` Blibbet
2014-02-27  0:41 ` Blibbet
     [not found] ` <20140226134251.0436294e@anubis.ausil.us>
     [not found]   ` <CAMJs5B9bCs8Oz2Zg4UK--A3H4AaZRPMwy7SpxYom-1--_=qhBQ@mail.gmail.com>
     [not found]     ` <20140226151536.58154704@anubis.ausil.us>
2014-02-27 17:34       ` Grant Likely
2014-02-27 17:34       ` Grant Likely
2014-02-27 17:34         ` Grant Likely
2014-03-01 15:27 ` Grant Likely
2014-03-01 15:27   ` Grant Likely
2014-03-03  1:13   ` Christoffer Dall
2014-03-03  1:13     ` Christoffer Dall
2014-03-03  1:13   ` Christoffer Dall
2014-03-06  8:52   ` Robie Basak
2014-03-06  8:52   ` Robie Basak
2014-03-06  8:52     ` Robie Basak
2014-03-06  9:46     ` Paolo Bonzini
2014-03-06  9:46       ` Paolo Bonzini
2014-03-06 11:44       ` Laszlo Ersek
2014-03-06 11:44       ` Laszlo Ersek
2014-03-06 11:44         ` Laszlo Ersek
2014-03-06 12:04         ` Robie Basak
2014-03-06 12:04           ` Robie Basak
2014-03-06 12:10           ` Paolo Bonzini
2014-03-06 12:10           ` Paolo Bonzini
2014-03-06 12:10             ` Paolo Bonzini
2014-03-07 12:24           ` Grant Likely
2014-03-06 12:04         ` Robie Basak
     [not found]         ` <20140306120449.GA29916@ mal.justgohome.co.uk>
     [not found]           ` <20140306120449.GA29916-TaX3GuEuUBUVRcMIguc0yNBc4/FLrbF6@public.gmane.org>
2014-03-07 12:24             ` Grant Likely
2014-03-07 12:24               ` Grant Likely
     [not found]               ` < 20140322010206.GF25519@cbox>
2014-03-22  2:29               ` Christoffer Dall
2014-03-22  2:29               ` Christoffer Dall
2014-03-22  2:29                 ` Christoffer Dall
2014-03-22  8:08                 ` Paolo Bonzini
2014-03-22  8:08                 ` Paolo Bonzini
2014-03-22  8:08                   ` Paolo Bonzini
2014-03-23  3:19                   ` Christoffer Dall
2014-03-23  3:19                     ` Christoffer Dall
2014-03-23  3:29                     ` Christoffer Dall
2014-03-23  3:29                     ` Christoffer Dall
2014-03-23  3:29                       ` Christoffer Dall
2014-03-24  9:57                       ` Robie Basak
2014-03-24  9:57                         ` Robie Basak
2014-03-24 10:46                         ` Paolo Bonzini
2014-03-24 10:46                           ` Paolo Bonzini
2014-03-24 10:46                         ` Paolo Bonzini
2014-03-24  9:57                       ` Robie Basak
2014-03-23  3:19                   ` Christoffer Dall
2014-03-22 12:23                 ` Grant Likely
2014-03-22 12:23                   ` Grant Likely
2014-03-22 19:57                   ` Paolo Bonzini
2014-03-22 19:57                     ` Paolo Bonzini
2014-03-22 22:35                     ` Grant Likely
2014-03-22 22:35                       ` Grant Likely
2014-03-22 22:35                     ` Grant Likely
2014-03-22 23:38                     ` Michael Casadevall
2014-03-22 23:38                     ` Michael Casadevall
2014-03-22 23:38                       ` Michael Casadevall
2014-03-23  0:33                       ` Laszlo Ersek
2014-03-23  0:33                       ` Laszlo Ersek
2014-03-23  0:33                         ` Laszlo Ersek
2014-03-22 19:57                   ` Paolo Bonzini
2014-03-23  3:23                   ` Christoffer Dall
2014-03-23  3:23                   ` Christoffer Dall
2014-03-23  3:23                     ` Christoffer Dall
2014-03-24  9:03                   ` Ian Campbell
2014-03-24  9:03                   ` Ian Campbell
2014-03-24  9:03                     ` Ian Campbell
2014-03-24 10:41                     ` Paolo Bonzini
2014-03-24 10:41                     ` Paolo Bonzini
2014-03-24 10:41                       ` Paolo Bonzini
2014-03-24 10:47                       ` Ian Campbell
2014-03-24 10:47                         ` Ian Campbell
2014-03-24 10:47                       ` Ian Campbell
2014-03-24 12:13                     ` Grant Likely
2014-03-24 12:13                     ` Grant Likely
2014-03-24 12:13                       ` Grant Likely
2014-03-24 12:16                       ` Ian Campbell
2014-03-24 12:16                       ` Ian Campbell
2014-03-24 12:16                         ` Ian Campbell
2014-03-22 12:23                 ` Grant Likely [this message]
2014-03-07 12:19       ` Grant Likely
2014-03-08 11:41       ` Michael Casadevall
2014-03-08 11:41         ` Michael Casadevall
2014-03-08 20:41         ` Laszlo Ersek
2014-03-08 20:41         ` Laszlo Ersek
2014-03-08 20:41           ` Laszlo Ersek
2014-03-08 11:41       ` Michael Casadevall
2014-03-06  9:46     ` Paolo Bonzini
2014-03-07 12:09     ` Grant Likely
2014-03-07 12:09     ` Grant Likely
2014-03-07 12:09       ` Grant Likely
     [not found]     ` <531843EE. 8040102@redhat.com>
     [not found]       ` <531843EE.8040102-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-03-07 12:19         ` Grant Likely
2014-03-07 12:19           ` Grant Likely
2014-03-01 15:27 ` Grant Likely
     [not found] ` < CACxGe6tjuytsYAn6Hadf0AK+REzHgRydgbHPafL8+Sdtd_tMUA@mail.gmail.com>
     [not found]   ` <alpine .DEB.2.02.1402271216040.31489@kaball.uk.xensource.com>
     [not found]     ` <alpine.DEB.2.02.1402271216040.31489-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2014-03-01 19:54       ` Grant Likely
2014-03-01 19:54         ` Grant Likely
2014-03-02  9:29         ` Peter Maydell
2014-03-02  9:29         ` Peter Maydell
2014-03-02  9:29           ` Peter Maydell
  -- strict thread matches above, loose matches on Subject: below --
2014-02-26 18:34 Christoffer Dall

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='20140322122354.7644FC418C4__25122.0831451521$1395491190$gmane$org@trevor.secretlab.ca' \
    --to=grant.likely@linaro.org \
    --cc=Michael.casadevall@linaro.org \
    --cc=christoffer.dall@linaro.org \
    --cc=cross-distro@lists.linaro.org \
    --cc=ian.campbell@citrix.com \
    --cc=jljusten@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=lersek@redhat.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=marc.zyngier@arm.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=rob.herring@linaro.org \
    --cc=stefano.stabellini@citrix.com \
    --cc=xen-devel@lists.xen.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.