qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Marcel Apfelbaum <marcel.a@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Hu Tao <hutao@cn.fujitsu.com>,
	qemu-devel@nongnu.org, Gerd Hoffmann <kraxel@redhat.com>,
	Anthony Liguori <aliguori@amazon.com>,
	Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>,
	Igor Mammedov <imammedo@redhat.com>,
	Laszlo Ersek <lersek@redhat.com>,
	Paul Menzel <paulepanter@users.sourceforge.net>
Subject: Re: [Qemu-devel] [PATCH] ACPI DSDT: Make control method `IQCR` serialized
Date: Thu, 14 Nov 2013 15:37:39 +0200	[thread overview]
Message-ID: <1384436259.27694.14.camel@localhost.localdomain> (raw)
In-Reply-To: <20131114121609.GA4997@redhat.com>

On Thu, 2013-11-14 at 14:16 +0200, Michael S. Tsirkin wrote:
> Forward-port the following commit from seabios:
> 
> commit 995bbeef78b338370f426bf8d0399038c3fa259c
> Author: Paul Menzel <paulepanter@users.sourceforge.net>
> Date:   Thu Oct 3 11:30:52 2013 +0200
> 
>     The ASL Optimizing Compiler version 20130823-32 [Sep 11 2013] issues the
>     following warning.
> 
>             $ make
>             […]
>               Compiling IASL out/src/fw/acpi-dsdt.hex
>             out/src/fw/acpi-dsdt.dsl.i    360:         Method(IQCR, 1, NotSerialized) {
>             Remark   2120 -                                     ^ Control Method should be made Serialized (due to creation of named objects within)
>             […]
>             ASL Input:     out/src/fw/acpi-dsdt.dsl.i - 475 lines, 19181 bytes, 316 keywords
>             AML Output:    out/src/fw/acpi-dsdt.aml - 4407 bytes, 159 named objects, 157 executable opcodes
>             Listing File:  out/src/fw/acpi-dsdt.lst - 143715 bytes
>             Hex Dump:      out/src/fw/acpi-dsdt.hex - 41661 bytes
> 
>             Compilation complete. 0 Errors, 0 Warnings, 1 Remarks, 246 Optimizations
>             […]
> 
>     After changing the parameter from `NotSerialized` to `Serialized`, the
>     remark is indeed gone and there is no size change.
> 
>     The remark was added in ACPICA version 20130517 [1] and gives the
>     following explanation.
> 
>             If a thread blocks within the method for any reason, and another thread
>             enters the method, the method will fail because an attempt will be
>             made to create the same (named) object twice.
> 
>             In this case, issue a remark that the method should be marked
>             serialized. ACPICA BZ 909.
> 
>     [1] https://github.com/acpica/acpica/commit/ba84d0fc18ba910a47a3f71c68a43543c06e6831
> 
>     Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
> 
> Reported-by: Marcel Apfelbaum <marcel.a@redhat.com>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

Dumped the acpi tables and verified  that is ok now. Thanks!
Tested-by: Marcel Apfelbaum <marcel.a@redhat.com>

> ---
>  hw/i386/acpi-dsdt.dsl               | 2 +-
>  hw/i386/acpi-dsdt.hex.generated     | 4 ++--
>  hw/i386/q35-acpi-dsdt.dsl           | 2 +-
>  hw/i386/q35-acpi-dsdt.hex.generated | 4 ++--
>  4 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/hw/i386/acpi-dsdt.dsl b/hw/i386/acpi-dsdt.dsl
> index 90efce0..a377424 100644
> --- a/hw/i386/acpi-dsdt.dsl
> +++ b/hw/i386/acpi-dsdt.dsl
> @@ -235,7 +235,7 @@ DefinitionBlock (
>              }
>              Return (0x0B)
>          }
> -        Method(IQCR, 1, NotSerialized) {
> +        Method(IQCR, 1, Serialized) {
>              // _CRS method - get current settings
>              Name(PRR0, ResourceTemplate() {
>                  Interrupt(, Level, ActiveHigh, Shared) { 0 }
> diff --git a/hw/i386/acpi-dsdt.hex.generated b/hw/i386/acpi-dsdt.hex.generated
> index 2c01107..f8bd4ea 100644
> --- a/hw/i386/acpi-dsdt.hex.generated
> +++ b/hw/i386/acpi-dsdt.hex.generated
> @@ -8,7 +8,7 @@ static unsigned char AcpiDsdtAmlCode[] = {
>  0x0,
>  0x0,
>  0x1,
> -0xe0,
> +0xd8,
>  0x42,
>  0x58,
>  0x50,
> @@ -3379,7 +3379,7 @@ static unsigned char AcpiDsdtAmlCode[] = {
>  0x51,
>  0x43,
>  0x52,
> -0x1,
> +0x9,
>  0x8,
>  0x50,
>  0x52,
> diff --git a/hw/i386/q35-acpi-dsdt.dsl b/hw/i386/q35-acpi-dsdt.dsl
> index 21c89b0..575c5d7 100644
> --- a/hw/i386/q35-acpi-dsdt.dsl
> +++ b/hw/i386/q35-acpi-dsdt.dsl
> @@ -333,7 +333,7 @@ DefinitionBlock (
>              }
>              Return (0x0B)
>          }
> -        Method(IQCR, 1, NotSerialized) {
> +        Method(IQCR, 1, Serialized) {
>              // _CRS method - get current settings
>              Name(PRR0, ResourceTemplate() {
>                  Interrupt(, Level, ActiveHigh, Shared) { 0 }
> diff --git a/hw/i386/q35-acpi-dsdt.hex.generated b/hw/i386/q35-acpi-dsdt.hex.generated
> index 32c16ff..111ad3e 100644
> --- a/hw/i386/q35-acpi-dsdt.hex.generated
> +++ b/hw/i386/q35-acpi-dsdt.hex.generated
> @@ -8,7 +8,7 @@ static unsigned char Q35AcpiDsdtAmlCode[] = {
>  0x0,
>  0x0,
>  0x1,
> -0x6,
> +0xfe,
>  0x42,
>  0x58,
>  0x50,
> @@ -5338,7 +5338,7 @@ static unsigned char Q35AcpiDsdtAmlCode[] = {
>  0x51,
>  0x43,
>  0x52,
> -0x1,
> +0x9,
>  0x8,
>  0x50,
>  0x52,

  reply	other threads:[~2013-11-14 13:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-14 12:16 [Qemu-devel] [PATCH] ACPI DSDT: Make control method `IQCR` serialized Michael S. Tsirkin
2013-11-14 13:37 ` Marcel Apfelbaum [this message]
2013-11-14 14:44 ` Laszlo Ersek

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=1384436259.27694.14.camel@localhost.localdomain \
    --to=marcel.a@redhat.com \
    --cc=aliguori@amazon.com \
    --cc=hutao@cn.fujitsu.com \
    --cc=imammedo@redhat.com \
    --cc=kaneshige.kenji@jp.fujitsu.com \
    --cc=kraxel@redhat.com \
    --cc=lersek@redhat.com \
    --cc=mst@redhat.com \
    --cc=paulepanter@users.sourceforge.net \
    --cc=qemu-devel@nongnu.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 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).