qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Hanjun Guo <hanjun.guo@linaro.org>
To: Mark Rutland <mark.rutland@arm.com>,
	Peter Maydell <peter.maydell@linaro.org>
Cc: "tech@virtualopensystems.com" <tech@virtualopensystems.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	"linaro-acpi@lists.linaro.org" <linaro-acpi@lists.linaro.org>
Subject: Re: [Qemu-devel] [Linaro-acpi] [RFC PATCH 0/7] hw/arm/virt: Dynamic ACPI v5.1 table generation
Date: Thu, 06 Nov 2014 14:53:03 +0800	[thread overview]
Message-ID: <545B1ACF.4090600@linaro.org> (raw)
In-Reply-To: <20141030180216.GD31629@leverpostej>

On 2014-10-31 2:02, Mark Rutland wrote:
> On Thu, Oct 30, 2014 at 05:52:44PM +0000, Peter Maydell wrote:
>> On 30 October 2014 17:43, Alexander Spyridakis
>> <a.spyridakis@virtualopensystems.com> wrote:
>>> Currently, the virt machine model generates Device Tree information dynamically based on the existing devices in the system. This patch series extends the same concept but for ACPI information instead. A total of seven tables have been
>>> implemented in this patch series, which is the minimum for a basic ARM support.
>>>
>>> The set of generated tables are:
>>> - RSDP
>>> - XSDT
>>> - MADT
>>> - GTDT
>>> - FADT
>>> - FACS
>>> - DSDT
>>>
>>> The tables are created in standalone buffers, taking into account the
>>> needed information passed from the virt machine model. When the generation
>>> is finalized, the individual buffers are compacted to a single ACPI binary
>>> blob, where it is injected on the guest memory space in a fixed location.
>>> The guest kernel can find the ACPI tables by providing to it the physical
>>> address of the ACPI blob (e.g. acpi_rsdp=0x47000000 boot argument).
>>
>> (Sorry, I should have waited for the cover letter to arrive before replying.)
>>
>> I think this is definitely the wrong approach. We already have to
>> generate device tree information for the hardware we have, and having
>> an equivalent parallel infrastructure for generating ACPI as well
>> seems like it would be a tremendous mess. We should support guests
>> that require ACPI by having QEMU boot a UEFI bios blob and have that
>> UEFI code generate ACPI tables based on the DTB we hand it.
>> (Chances seem good that any guest that wants ACPI is going to want
>> UEFI runtime services anyway.)
> 
> Depending on why people want ACPI in a guest environment, generating
> ACPI tables from a DTB might not be possible (e.g. if they want to use
> AML for some reason).

Agreed.

> 
> So the important question is _why_ the guest needs to see an ACPI
> environment. What exactly can ACPI provide to the guest that DT does not
> already provide, and why is that necessary? What infrastrucutre is
> needed for that use case?

There is important feature called system device dynamic reconfiguration,
you know, hot-add/remove, if a gust need more/less memory or CPU, can we
add or remove them dynamically with DT? ACPI can do this, but I have no
idea if DT can. (Sorry, I don't know much about DT)

Thanks
Hanjun

  parent reply	other threads:[~2014-11-06  6:55 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
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 [this message]
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=545B1ACF.4090600@linaro.org \
    --to=hanjun.guo@linaro.org \
    --cc=linaro-acpi@lists.linaro.org \
    --cc=mark.rutland@arm.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --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).