[coreboot-gerrit] New patch to review for coreboot: 7b9517b arch/x86/acpi/globutil.asl: Make control method `S2BF` serialized
Paul Menzel (paulepanter@users.sourceforge.net)
gerrit at coreboot.org
Mon Nov 18 12:19:52 CET 2013
Paul Menzel (paulepanter at users.sourceforge.net) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4093
-gerrit
commit 7b9517b41ebf8fac9df0304b373d1d06adc6fd62
Author: Paul Menzel <paulepanter at users.sourceforge.net>
Date: Mon Nov 18 11:57:45 2013 +0100
arch/x86/acpi/globutil.asl: Make control method `S2BF` serialized
The ASL Optimizing Compiler version 20130517-64 issues the following
warning when building for example AMD Parmer and ASRock E350M1.
IASL coreboot-builds/amd_parmer/mainboard/amd/parmer/dsdt.ramstage.o
dsdt.ramstage.asl 196: Method(S2BF, 1)
Remark 2120 - ^ Control Method should be made Serialized (due to creation of named objects within)
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20130517-64
Copyright (c) 2000 - 2013 Intel Corporation
ASL Input: dsdt.ramstage.asl - 1164 lines, 23047 bytes, 547 keywords
AML Output: dsdt.ramstage.aml - 6898 bytes, 305 named objects, 242 executable opcodes
Hex Dump: dsdt.ramstage.hex - 65007 bytes
Compilation complete. 0 Errors, 0 Warnings, 1 Remarks, 347 Optimizations
Taking the advice and making the control method serialized, as expected,
the remark is gone and there are no size changes.
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
iASL: If a non-serialized method creates named objects, issue remark.
Change-Id: I502cca731b6b4cd3e17c57fc191f1eed10a5a1fe
Signed-off-by: Paul Menzel <paulepanter at users.sourceforge.net>
---
src/arch/x86/acpi/globutil.asl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/arch/x86/acpi/globutil.asl b/src/arch/x86/acpi/globutil.asl
index b39113f..a39d6ed 100644
--- a/src/arch/x86/acpi/globutil.asl
+++ b/src/arch/x86/acpi/globutil.asl
@@ -39,7 +39,7 @@ Method(SLEN, 1)
Return(Sizeof(Local0))
}
-Method(S2BF, 1)
+Method(S2BF, 1, Serialized)
{
Add(SLEN(Arg0), One, Local0)
Name(BUFF, Buffer(Local0) {})
More information about the coreboot-gerrit
mailing list