ACPI DSDT: Make control method `IQCR` serialized
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] ba84d0fc18
    Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reported-by: Marcel Apfelbaum <marcel.a@redhat.com>
Tested-by: Marcel Apfelbaum <marcel.a@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
			
			
This commit is contained in:
		
							parent
							
								
									53db092ad1
								
							
						
					
					
						commit
						6b9b440574
					
				| 
						 | 
				
			
			@ -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 }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue