qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Christoffer Dall <christoffer.dall@linaro.org>
To: Mark Rutland <mark.rutland@arm.com>
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 11:44:41 +0100	[thread overview]
Message-ID: <20141112104441.GF19598@cbox> (raw)
In-Reply-To: <20141112103854.GA28015@leverpostej>

On Wed, Nov 12, 2014 at 10:38:54AM +0000, Mark Rutland wrote:
> 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.

Agreed.

> 
> 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.
> 

right, the good old PC.

> > > > 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.

Maybe there was a misunderstanding then, I thought you were cc'ed on
those discussions.

> 
> 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?).
> 

Agreed completely, but I've been lacking strong technical arguments
against passing this stuff on the cmdline.  My personal preferred
approach for the Xen Dom0 case is to add a property to the DT.

-Christoffer

  reply	other threads:[~2014-11-12 10:44 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
2014-11-12 10:44                     ` Christoffer Dall [this message]
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=20141112104441.GF19598@cbox \
    --to=christoffer.dall@linaro.org \
    --cc=Ian.Campbell@citrix.com \
    --cc=a.spyridakis@virtualopensystems.com \
    --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=mark.rutland@arm.com \
    --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).