From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57069) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vgy7e-0004BN-LA for qemu-devel@nongnu.org; Thu, 14 Nov 2013 09:42:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vgy7a-0003r0-0U for qemu-devel@nongnu.org; Thu, 14 Nov 2013 09:42:18 -0500 Received: from mx1.redhat.com ([209.132.183.28]:64768) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vgy7Z-0003qm-OR for qemu-devel@nongnu.org; Thu, 14 Nov 2013 09:42:13 -0500 Message-ID: <5284E1DF.5030404@redhat.com> Date: Thu, 14 Nov 2013 15:44:47 +0100 From: Laszlo Ersek MIME-Version: 1.0 References: <20131114121609.GA4997@redhat.com> In-Reply-To: <20131114121609.GA4997@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH] ACPI DSDT: Make control method `IQCR` serialized List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: Marcel Apfelbaum , Hu Tao , qemu-devel@nongnu.org, Gerd Hoffmann , Anthony Liguori , Kenji Kaneshige , Igor Mammedov , Paul Menzel On 11/14/13 13:16, Michael S. Tsirkin wrote: > Forward-port the following commit from seabios: >=20 > commit 995bbeef78b338370f426bf8d0399038c3fa259c > Author: Paul Menzel > Date: Thu Oct 3 11:30:52 2013 +0200 >=20 > The ASL Optimizing Compiler version 20130823-32 [Sep 11 2013] issue= s the > following warning. >=20 > $ make > [=E2=80=A6] > Compiling IASL out/src/fw/acpi-dsdt.hex > out/src/fw/acpi-dsdt.dsl.i 360: Method(IQCR, 1, = NotSerialized) { > Remark 2120 - ^ Contr= ol Method should be made Serialized (due to creation of named objects wit= hin) > [=E2=80=A6] > ASL Input: out/src/fw/acpi-dsdt.dsl.i - 475 lines, 1918= 1 bytes, 316 keywords > AML Output: out/src/fw/acpi-dsdt.aml - 4407 bytes, 159 n= amed objects, 157 executable opcodes > Listing File: out/src/fw/acpi-dsdt.lst - 143715 bytes > Hex Dump: out/src/fw/acpi-dsdt.hex - 41661 bytes >=20 > Compilation complete. 0 Errors, 0 Warnings, 1 Remarks, 246 = Optimizations > [=E2=80=A6] >=20 > After changing the parameter from `NotSerialized` to `Serialized`, = the > remark is indeed gone and there is no size change. >=20 > The remark was added in ACPICA version 20130517 [1] and gives the > following explanation. >=20 > If a thread blocks within the method for any reason, and an= other thread > enters the method, the method will fail because an attempt = will be > made to create the same (named) object twice. >=20 > In this case, issue a remark that the method should be mark= ed > serialized. ACPICA BZ 909. >=20 > [1] https://github.com/acpica/acpica/commit/ba84d0fc18ba910a47a3f71= c68a43543c06e6831 >=20 > Signed-off-by: Paul Menzel >=20 > Reported-by: Marcel Apfelbaum > Signed-off-by: Michael S. Tsirkin > --- > 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(-) The analysis / evolution of the iasl change is instrumental. The patch looks good to me (although you could sell me anything in the binary part). Reviewed-by: Laszlo Ersek