From: Mark Rutland <mark.rutland@arm.com>
To: Christoffer Dall <christoffer.dall@linaro.org>
Cc: Peter Maydell <peter.maydell@linaro.org>,
"Ian.Campbell@citrix.com" <Ian.Campbell@citrix.com>,
"linaro-acpi@lists.linaro.org" <linaro-acpi@lists.linaro.org>,
Alexander Spyridakis <a.spyridakis@virtualopensystems.com>,
Julien Grall <julien.grall@linaro.org>,
Claudio Fontana <claudio.fontana@huawei.com>,
QEMU Developers <qemu-devel@nongnu.org>,
Leif Lindholm <leif.lindholm@linaro.org>,
"stefano.stabellini@citrix.com" <stefano.stabellini@citrix.com>,
Grant Likely <grant.likely@linaro.org>,
"tech@virtualopensystems.com" <tech@virtualopensystems.com>,
Parth Dixit <parth.dixit@linaro.org>
Subject: Re: [Qemu-devel] [Linaro-acpi] [RFC PATCH 0/7] hw/arm/virt: Dynamic ACPI v5.1 table generation
Date: Wed, 12 Nov 2014 10:38:54 +0000 [thread overview]
Message-ID: <20141112103854.GA28015@leverpostej> (raw)
In-Reply-To: <20141111213312.GC19598@cbox>
On Tue, Nov 11, 2014 at 09:33:12PM +0000, Christoffer Dall wrote:
> On Tue, Nov 11, 2014 at 04:48:07PM +0000, Mark Rutland wrote:
> > Hi Christoffer,
> >
> > On Tue, Nov 11, 2014 at 04:31:01PM +0000, Christoffer Dall wrote:
> > > On Tue, Nov 11, 2014 at 03:29:33PM +0000, Mark Rutland wrote:
> > > > Hi,
> > > >
> > > > On Thu, Nov 06, 2014 at 01:33:20PM +0000, Alexander Spyridakis wrote:
> > > > > On 6 November 2014 14:44, Peter Maydell <peter.maydell@linaro.org> wrote:
> > > > > >
> > > > > >
> > > > > > > We need ACPI guest support in QEMU for AArch64 over here, with all features
> > > > > > > (including the ability to run ACPI code and add specific tables), for
> > > > > > > ACPI-based guests.
> > > > > >
> > > > > > The plan for providing ACPI to guests is that we run a UEFI BIOS
> > > > > > blob which is what is responsible for providing ACPI and UEFI
> > > > > > runtime services to guests which need them. (The UEFI blob finds
> > > > > > out about its hardware by looking at a device tree that QEMU
> > > > > > passes it, but that's a detail between QEMU and its bios blob).
> > > > > > This pretty much looks like what x86 QEMU used to do with ACPI
> > > > > > for a very long time, so we know it's a feasible approach.
> > > > >
> > > > > Hi Peter,
> > > > >
> > > > > The rational in the proposed approach is meant for cases where the
> > > > > user does not want to rely on external firmware layers. While UEFI
> > > > > could do what you are describing, the point is to avoid this not so
> > > > > trivial overhead in the booting process. Especially in the case of
> > > > > thin guests, where another software dependency is undesired.
> > > >
> > > > I'm not sure how you plan to use ACPI without UEFI, as there are several
> > > > pieces of information which ACPI misses, such as the memory map, which
> > > > must be discovered from UEFI. How do you intend to discover the memory
> > > > map without UEFI?
> > > >
> > > > Additionally, with Linux and other generic OSs, the expectation is that
> > > > the ACPI tables are discovered via the UEFI system table. How do you
> > > > intend to discover the ACPI tables? Or other system information?
> > >
> > > FWIW, Xen needs to pass the RDSP pointer along with a tiny DT containing
> > > the command line and memory information to Dom0 as well.
> >
> > When you say "memory information", is that pointers to a UEFI memory
> > map, or memory nodes? The former should work for ACPI, but I don't think
> > the latter will. I think there's a need for some discussion regarding
> > the Dom0 boot flow for ACPI. Is there any tree I can take a peek at?
>
> Plain memory nodes. There is no UEFI instance for Dom0. AFAIU x86 does
> something similar (although with some custom PV thing instead of DT),
> and when Dom0 needs UEFI runtime services, this is done through specific
> hypercalls.
>
> The Xen code is incomplete for this work, but can be followed here:
> https://git.linaro.org/people/parth.dixit/acpi-rsdp/xen.git/shortlog/refs/heads/explore-rsdp
Thanks.
> The Linux side is stuff based on the LEG kernel I think, not sure if
> it's pushed anywhere yet.
>
> I'm cc'ing Parth and Julien here, but I agree that having a discussion
> on this could probably be good.
Sounds good to me. That might be worth running as a separate thread so
as not to confuse matters.
Perhaps just using memory nodes is fine, but so far all of the
discussions I've been in (on mailing lists and in person) regarding ACPI
have had the fundamental assumption that ACPI would require UEFI, and
the UEFI memory map is in use. Given that assumption seems to be broken
for this case, we need to revisit those discussions.
There's also a problem in that this opens the possibility of non-Xen
!UEFI + ACPI configurations, which I don't think is something we want to
encourage. Xen is somewhat a special case because of the symbiotic
relationship with Dom0.
> > Passing just the RDSP will mean that Dom0 won't get SMBIOS tables and
> > other potentially useful things, in addition to simply being yet another
> > potential boot configuration. I'm a little concerned about that.
> >
>
> I share your concern, but running another UEFI instance for Dom0 doesn't
> seem like a viable alternative either. Why is this a problem on ARM and
> not on x86 though?
I believe that on x86 the fallback for !UEFI would be the e820 memory
map, which provides info regarding the type of the memory mapping, as
opposed to just the base + size. That said, I'm not that familiar with
e820, and from a quick look the provided information doesn't seem to be
that detailed.
> > > We are currently suggesting adding an RDSP property to the chosen node
> > > in the tiny DT, but a command-line arguement like kexec proposed could
> > > be another option I guess, albeit not a very pretty one.
> >
> > I'm not sure what an RDSP command line property would have to do with
> > kexec. I'll assume I've misunderstood something.
> >
>
> I thought the kexec patches proposed passing the RDSP on the
> command-line to boot the secondary kernel, so if that ended up being
> supported by the kernel for kexec, maybe that could be leveraged by
> Xen's boot protocol. It was an idea someone brought to me, just thought
> I'd mention it.
Ah, that's not something I'd heard of.
I'm not a fan of placing fundamentally required system description on
the command line. It's fine for explicit overrides but I don't think it
should be the default mechanism as that causes its own set of problems
(who wants to fight with their hypervisor to pass a command line to a
guest kernel?).
Thanks,
Mark.
next prev parent reply other threads:[~2014-11-12 10:39 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-30 17:43 [Qemu-devel] [RFC PATCH 0/7] hw/arm/virt: Dynamic ACPI v5.1 table generation Alexander Spyridakis
2014-10-30 17:43 ` [Qemu-devel] [RFC PATCH 1/7] hw/i386: Move ACPI header definitions in an arch-independent location Alexander Spyridakis
2014-10-30 17:44 ` [Qemu-devel] [RFC PATCH 2/7] hw/arm/virt-acpi: Basic skeleton for dynamic generation of ACPI tables Alexander Spyridakis
2014-10-30 17:46 ` Peter Maydell
2014-10-30 17:52 ` [Qemu-devel] [RFC PATCH 0/7] hw/arm/virt: Dynamic ACPI v5.1 table generation Peter Maydell
2014-10-30 18:02 ` [Qemu-devel] [Linaro-acpi] " Mark Rutland
2014-11-05 9:58 ` Claudio Fontana
2014-11-06 12:44 ` Peter Maydell
2014-11-06 12:57 ` Igor Mammedov
2014-11-06 13:33 ` Alexander Spyridakis
2014-11-06 13:52 ` Peter Maydell
2014-11-11 15:29 ` Mark Rutland
2014-11-11 16:31 ` Christoffer Dall
2014-11-11 16:48 ` Mark Rutland
2014-11-11 21:33 ` Christoffer Dall
2014-11-12 10:38 ` Mark Rutland [this message]
2014-11-12 10:44 ` Christoffer Dall
2014-11-12 10:55 ` Julien Grall
2014-11-12 11:07 ` Mark Rutland
2014-11-12 11:38 ` Graeme Gregory
2014-11-12 11:52 ` Paolo Bonzini
2014-11-12 12:04 ` Mark Rutland
2014-11-12 12:12 ` Paolo Bonzini
2014-11-12 13:27 ` Peter Maydell
2014-11-12 13:32 ` Paolo Bonzini
2014-11-12 15:01 ` Claudio Fontana
2014-11-12 15:32 ` Arnd Bergmann
2014-11-12 15:39 ` Peter Maydell
2014-11-12 15:52 ` Paolo Bonzini
2014-11-12 15:57 ` Arnd Bergmann
2014-11-12 16:04 ` Paolo Bonzini
2014-11-12 16:13 ` Arnd Bergmann
2014-11-12 16:25 ` Paolo Bonzini
2014-11-12 17:33 ` Peter Maydell
2014-11-13 8:32 ` Gerd Hoffmann
2014-11-13 8:14 ` Gerd Hoffmann
2014-11-13 8:10 ` Gerd Hoffmann
2014-11-13 18:16 ` Al Stone
2014-11-13 19:22 ` Paolo Bonzini
2014-11-14 7:54 ` Gerd Hoffmann
2014-11-12 9:08 ` Claudio Fontana
2014-11-12 10:56 ` Mark Rutland
2014-11-12 11:15 ` Arnd Bergmann
2014-11-12 11:34 ` Christoffer Dall
2014-11-12 11:48 ` Paolo Bonzini
2014-11-12 12:18 ` Mark Rutland
2014-11-12 12:27 ` Paolo Bonzini
2014-11-12 12:40 ` Christoffer Dall
2014-11-12 13:08 ` Arnd Bergmann
2014-11-12 13:27 ` Paolo Bonzini
2014-11-12 13:41 ` Mark Rutland
2014-11-12 13:59 ` Paolo Bonzini
2014-11-12 14:10 ` Mark Rutland
2014-11-12 14:46 ` Paolo Bonzini
2014-11-12 13:03 ` Arnd Bergmann
2014-11-12 13:35 ` Christoffer Dall
2014-11-12 11:55 ` Mark Rutland
2014-11-12 18:10 ` Peter Maydell
2014-11-13 9:57 ` Claudio Fontana
2014-11-17 17:52 ` Peter Maydell
2014-11-06 6:53 ` Hanjun Guo
2014-11-06 13:30 ` Mark Rutland
2014-11-06 13:33 ` Arnd Bergmann
2014-11-06 15:57 ` Paolo Bonzini
2014-11-06 16:18 ` Igor Mammedov
2014-11-06 16:27 ` Paolo Bonzini
2014-11-07 8:31 ` Hanjun Guo
2015-03-09 12:12 ` Leif Lindholm
2015-03-09 12:28 ` Peter Maydell
2015-03-09 12:47 ` Shannon Zhao
2015-03-09 14:50 ` Leif Lindholm
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=20141112103854.GA28015@leverpostej \
--to=mark.rutland@arm.com \
--cc=Ian.Campbell@citrix.com \
--cc=a.spyridakis@virtualopensystems.com \
--cc=christoffer.dall@linaro.org \
--cc=claudio.fontana@huawei.com \
--cc=grant.likely@linaro.org \
--cc=julien.grall@linaro.org \
--cc=leif.lindholm@linaro.org \
--cc=linaro-acpi@lists.linaro.org \
--cc=parth.dixit@linaro.org \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=stefano.stabellini@citrix.com \
--cc=tech@virtualopensystems.com \
/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).