From: christoffer.dall@linaro.org (Christoffer Dall)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC] ARM VM System Sepcification
Date: Wed, 26 Feb 2014 14:25:53 -0800 [thread overview]
Message-ID: <20140226222553.GF16149@cbox> (raw)
In-Reply-To: <20140226214843.GD12169@bivouac.eciton.net>
On Wed, Feb 26, 2014 at 09:48:43PM +0000, Leif Lindholm wrote:
> On Wed, Feb 26, 2014 at 08:55:58PM +0100, Arnd Bergmann wrote:
> > On Wednesday 26 February 2014 10:34:54 Christoffer Dall wrote:
> > > ARM VM System Specification
> > > ===========================
> > >
> > > Goal
> > > ----
> > > The goal of this spec is to allow suitably-built OS images to run on
> > > all ARM virtualization solutions, such as KVM or Xen.
> > >
> > > Recommendations in this spec are valid for aarch32 and aarch64 alike, and
> > > they aim to be hypervisor agnostic.
> > >
> > > Note that simply adhering to the SBSA [2] is not a valid approach,
> > > for example because the SBSA mandates EL2, which will not be available
> > > for VMs. Further, the SBSA mandates peripherals like the pl011, which
> > > may be controversial for some ARM VM implementations to support.
> > > This spec also covers the aarch32 execution mode, not covered in the
> > > SBSA.
> >
> > I would prefer if we can stay as close as possible to SBSA for individual
> > hardware components, and only stray from it when there is a strong reason.
> > pl011-subset doesn't sound like a significant problem to implement,
> > especially as SBSA makes the DMA part of that optional. Can you
> > elaborate on what hypervisor would have a problem with that?
>
> I believe it comes down to how much extra overhead pl011-access-trap
> would be over virtio-console. If low, then sure.
> (Since there are certain things we cannot provide SBSA-compliant in
> the guest anyway, I wouldn't consider lack of pl011 to be a big issue.)
>
I don't think it's about overhead, sure pl011 may be slower, but it's a
serial port, does anyone care about performance of a console? pl011
should be good enough for sure.
I think the issue is that Xen does no real device emulation today at
all, they don't use QEMU etc. That being said, adding a pl011 emulation
in the Xen tools doesn't seem like the worst idea in the world, but I
will let them chime in on why they are opposed to it.
> > > no FDT. In this case, the VM implementation must provide ACPI, and
> > > the OS must be able to locate the ACPI root pointer through the UEFI
> > > system table.
> > >
> > > For more information about the arm and arm64 boot conventions, see
> > > Documentation/arm/Booting and Documentation/arm64/booting.txt in the
> > > Linux kernel source tree.
> > >
> > > For more information about UEFI and ACPI booting, see [4] and [5].
> >
> > What's the point of having ACPI in a virtual machine? You wouldn't
> > need to abstract any of the hardware in AML since you already know
> > what the virtual hardware is, so I can't see how this would help
> > anyone.
>
> The point is that if we need to share any real hw then we need to use
> whatever the host has.
>
> > However, as ACPI will not be supported by arm32, not having the
> > complete FDT will prevent you from running a 32-bit guest on
> > a 64-bit hypervisor, which I consider an important use case.
>
> In which case we would be making an active call to ban anything other
> than virtio/xen-pv devices for 32-bit guests on hardware without DT.
>
> However, I see the case of a 32-bit guest on 64-bit hypervisor as less
> likely in the server space than in mobile, and ACPI in mobile as
> unlikely, so it may end up not being a big issue.
>
But you may want a networking applicance, for example, built on ARM
64-bit hardware, with an ARM 64-bit hypervisor on there, and you wish to
run some 32-bit system in a VM. If the hardware is ACPI based, it would
be a shame if the VM implementation (or the virtual firmware) couldn't
provide a useable 32-bit FDT. We may want to call that case out in this
document?
Thanks,
-Christoffer
WARNING: multiple messages have this Message-ID (diff)
From: Christoffer Dall <christoffer.dall@linaro.org>
To: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
linux-arm-kernel@lists.infradead.org,
cross-distro@lists.linaro.org,
"kvmarm@lists.cs.columbia.edu" <kvmarm@lists.cs.columbia.edu>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
xen-devel@lists.xen.org, Peter Maydell <peter.maydell@linaro.org>,
Ian Campbell <ian.campbell@citrix.com>,
Michael Casadevall <Michael.casadevall@linaro.org>,
"marc.zyngier@arm.com" <marc.zyngier@arm.com>,
Rob Herring <rob.herring@linaro.org>,
Robie Basak <robie.basak@canonical.com>,
Stefano Stabellini <stefano.stabellini@citrix.com>,
Grant Likely <grant.likely@linaro.org>
Subject: Re: [RFC] ARM VM System Sepcification
Date: Wed, 26 Feb 2014 14:25:53 -0800 [thread overview]
Message-ID: <20140226222553.GF16149@cbox> (raw)
In-Reply-To: <20140226214843.GD12169@bivouac.eciton.net>
On Wed, Feb 26, 2014 at 09:48:43PM +0000, Leif Lindholm wrote:
> On Wed, Feb 26, 2014 at 08:55:58PM +0100, Arnd Bergmann wrote:
> > On Wednesday 26 February 2014 10:34:54 Christoffer Dall wrote:
> > > ARM VM System Specification
> > > ===========================
> > >
> > > Goal
> > > ----
> > > The goal of this spec is to allow suitably-built OS images to run on
> > > all ARM virtualization solutions, such as KVM or Xen.
> > >
> > > Recommendations in this spec are valid for aarch32 and aarch64 alike, and
> > > they aim to be hypervisor agnostic.
> > >
> > > Note that simply adhering to the SBSA [2] is not a valid approach,
> > > for example because the SBSA mandates EL2, which will not be available
> > > for VMs. Further, the SBSA mandates peripherals like the pl011, which
> > > may be controversial for some ARM VM implementations to support.
> > > This spec also covers the aarch32 execution mode, not covered in the
> > > SBSA.
> >
> > I would prefer if we can stay as close as possible to SBSA for individual
> > hardware components, and only stray from it when there is a strong reason.
> > pl011-subset doesn't sound like a significant problem to implement,
> > especially as SBSA makes the DMA part of that optional. Can you
> > elaborate on what hypervisor would have a problem with that?
>
> I believe it comes down to how much extra overhead pl011-access-trap
> would be over virtio-console. If low, then sure.
> (Since there are certain things we cannot provide SBSA-compliant in
> the guest anyway, I wouldn't consider lack of pl011 to be a big issue.)
>
I don't think it's about overhead, sure pl011 may be slower, but it's a
serial port, does anyone care about performance of a console? pl011
should be good enough for sure.
I think the issue is that Xen does no real device emulation today at
all, they don't use QEMU etc. That being said, adding a pl011 emulation
in the Xen tools doesn't seem like the worst idea in the world, but I
will let them chime in on why they are opposed to it.
> > > no FDT. In this case, the VM implementation must provide ACPI, and
> > > the OS must be able to locate the ACPI root pointer through the UEFI
> > > system table.
> > >
> > > For more information about the arm and arm64 boot conventions, see
> > > Documentation/arm/Booting and Documentation/arm64/booting.txt in the
> > > Linux kernel source tree.
> > >
> > > For more information about UEFI and ACPI booting, see [4] and [5].
> >
> > What's the point of having ACPI in a virtual machine? You wouldn't
> > need to abstract any of the hardware in AML since you already know
> > what the virtual hardware is, so I can't see how this would help
> > anyone.
>
> The point is that if we need to share any real hw then we need to use
> whatever the host has.
>
> > However, as ACPI will not be supported by arm32, not having the
> > complete FDT will prevent you from running a 32-bit guest on
> > a 64-bit hypervisor, which I consider an important use case.
>
> In which case we would be making an active call to ban anything other
> than virtio/xen-pv devices for 32-bit guests on hardware without DT.
>
> However, I see the case of a 32-bit guest on 64-bit hypervisor as less
> likely in the server space than in mobile, and ACPI in mobile as
> unlikely, so it may end up not being a big issue.
>
But you may want a networking applicance, for example, built on ARM
64-bit hardware, with an ARM 64-bit hypervisor on there, and you wish to
run some 32-bit system in a VM. If the hardware is ACPI based, it would
be a shame if the VM implementation (or the virtual firmware) couldn't
provide a useable 32-bit FDT. We may want to call that case out in this
document?
Thanks,
-Christoffer
next prev parent reply other threads:[~2014-02-26 22:25 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
[not found] ` < CACxGe6tjuytsYAn6Hadf0AK+REzHgRydgbHPafL8+Sdtd_tMUA@mail.gmail.com>
2014-02-26 19:27 ` Christopher Covington
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 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-27 13:12 ` Christopher Covington
2014-02-26 19:55 ` Arnd Bergmann
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:05 ` Christoffer Dall
2014-02-26 20:22 ` Arnd Bergmann
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 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 10:05 ` Paolo Bonzini
2014-02-27 10:05 ` Paolo Bonzini
2014-02-27 10:05 ` Paolo Bonzini
2014-02-27 7:30 ` Arnd Bergmann
2014-03-01 19:12 ` Grant Likely
2014-03-01 19:12 ` Grant Likely
2014-03-01 19:12 ` Grant Likely
2014-02-26 21:56 ` Rob Herring
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: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 20:19 ` Paolo Bonzini
2014-02-26 21:48 ` Leif Lindholm
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 [this message]
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-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:00 ` Arnd Bergmann
2014-02-27 14:24 ` Alexander Graf
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-28 0:05 ` Alexander Graf
2014-02-28 0:05 ` Alexander Graf
2014-02-28 10:01 ` Arnd Bergmann
2014-02-28 10:01 ` Arnd Bergmann
2014-02-28 10:01 ` Arnd Bergmann
2014-02-28 13:38 ` Riku Voipio
[not found] ` <CB7DBE07-42BD-4588-AC9E-CB0BF95A811A-l3A5Bk7waGM@public.gmane.org>
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-28 0:05 ` Alexander Graf
2014-02-27 19:56 ` Arnd Bergmann
2014-03-01 19:25 ` Grant Likely
2014-03-01 19:25 ` Grant Likely
2014-03-01 19:25 ` Grant Likely
2014-02-27 12:31 ` Stefano Stabellini
2014-02-26 22:49 ` Rob Herring
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 22:54 ` Peter Maydell
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 23:08 ` Rob Herring
2014-02-26 23:13 ` Christopher Covington
2014-02-26 23:13 ` Christopher Covington
2014-02-26 23:13 ` Christopher Covington
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-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
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 9:46 ` Paolo Bonzini
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 12:04 ` Robie Basak
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-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 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:19 ` 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 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-23 3:29 ` Christoffer Dall
2014-03-22 8:08 ` Paolo Bonzini
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 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-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:16 ` Ian Campbell
2014-03-24 12:16 ` Ian Campbell
2014-03-24 12:16 ` Ian Campbell
2014-03-24 12:13 ` Grant Likely
2014-03-22 12:23 ` Grant Likely
2014-03-22 2:29 ` Christoffer Dall
2014-03-07 12:24 ` Grant Likely
2014-03-06 11:44 ` Laszlo Ersek
2014-03-07 12:19 ` Grant Likely
2014-03-07 12:19 ` Grant Likely
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-07 12:09 ` Grant Likely
2014-03-07 12:09 ` Grant Likely
2014-03-07 12:09 ` Grant Likely
2014-03-06 8:52 ` Robie Basak
2014-03-01 15:27 ` Grant Likely
-- 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=20140226222553.GF16149@cbox \
--to=christoffer.dall@linaro.org \
--cc=linux-arm-kernel@lists.infradead.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.