[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