Result is not used possible operator timeout will be missed как исправить

Hey, I just fixed all my compilation errors on the MSI Z77A-G43 (BIOS v2.4) and I thought I could share my edits here if anybody else runs into the same troubles. So this is a small guide on how to get your DSDT compiled without any errors or warnings and apply some additional patches to get a nice, clean and more «Apple like» DSDT to start with.

What I’m going to explain:

— Extract your DSDT
— Fix compilation errors
— Name your devices more «Apple like»
— Add DGTP method

What you need:

— A DSDT Editor (I recommend DSDT Editor)

Note that this whole procedure could also be done a little easier with DSDT auto patching for some fixes but doing it manually you learn a lot more and get used to patching DSDT by yourself.

So let’s get started:

1. Patch your BIOS to latest version (v2.4)

This is very important because in the worst case scenario you could damage your motherboard. This guide is for BIOS v2.4, so you have to get exactly that same version. It could probably work for earlier or later versions, but your are on your own doing this.

2. Extract your DSDT

This is simple: Open up DSDT editor and choose «File > Extract DSDT«.

3. Fix compilation errors

In DSDT Editor choose «IASL > Compile«, a window should pop up showing a bunch of errors and warnings:

You can see that it tells you we have errors, warnings and remarks. There should be only 1 error and we can fix it right away with DSDT Editor. Simply click on «Fix errors» and it now should say «0 Errors».

But we still have left a lot of warnings and remarks that have to be fixed, so let’s move on. We will go through this step by step. You have to double click on each error message and it takes you to the location where the error occured.

2226 Warning ResourceTag larger than Field (Tag: 64 bits, Field: 32 bits)

Replace

Code:

CreateDWordField (BUF0, _SB.PCI0._Y0F._LEN, MSLN)

With

Code:

CreateQWordField (BUF0, _SB.PCI0._Y0F._LEN, MSLN)

3318 Warning Result is not used, possible operator timeout will be missed

Replace

With

8787 Warning Not all control paths return a value (_DSM)
8787 Warning Reserved method must return a value (Integer/String/Buffer/Package/Reference required for _DSM)

Put

to the end of Method (_DSM, 4, Serialized), so that it looks like this:

Code:

Method (_DSM, 4, Serialized)
{
    Name (DRET, Buffer (0x04)
    {
         0x00
    })
    If (LEqual (Arg0, Buffer (0x10)
            {
                /* 0000 */   0xE1, 0x75, 0x39, 0x6F, 0x82, 0x7A, 0x67, 0x4F,
                /* 0008 */   0x8B, 0x97, 0x15, 0xBE, 0xE0, 0x60, 0xBE, 0xDF
            }))
    {
        If (LEqual (Arg2, Zero))
        {
            CreateWordField (DRET, Zero, F0SS)
            Store (0x02, F0SS)
            Return (DRET)
        }
        If (LEqual (Arg2, One))
        {
            If (LEqual (^^PEG0.PEGP.LNKV, 0x03))
            {
                Return (Zero)
            }
            Return (One)
        }
    }
    Return (Zero)
}

10113 Warning Not all control paths return a value (_HID)
10113 Warning Reserved method must return a value (Integer/String required for _HID)

Replace

Code:

Method (_HID, 0, NotSerialized)
{
    If (TCMF) {}
    Else
    {
        Return (0x310CD041)
    }
}

With

Code:

Method (_HID, 0, NotSerialized)
{
    If (TCMF)
    {
        Return (Zero)
    }
    Else
    {
        Return (0x310CD041)
    }
}

Lastly we should have a lot of:
5626 Remark Use of compiler reserved name (_T_0)
10350 Remark Use of compiler reserved name (_T_1)

To fix this hit Command + F (to open up search and replace) and enter the following:

Then click on «Replace All» and close search window.

Now everything should be fixed. Click on «IASL > Compile» and it should compile without any errors, warnings or remarks.

4. Rename your devices

Next up is renaming some devices to get closer to Apple’s naming scheme. There might be some more you could rename, but those are the ones I know of and found inside the DSDT.

You need to open up search and replace (Command + F) again for each of this edits and be sure to always click on «Replace All«:

Find: GFX0 Replace: IGPU
Find: COPR Replace: MATH

5. Add DGTP method

Lastly we are going to prepare our DSDT for future patching by adding the DGTP method, which is needed if you want to patch HDEF or other things. Simply put this directly at the end of the file before the last «}» and after WAK method.

Code:

Method (DTGP, 5, NotSerialized)
{
    If (LEqual (Arg0, Buffer (0x10)
            {
                /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, 
                /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
            }))
    {
        If (LEqual (Arg1, One))
        {
            If (LEqual (Arg2, Zero))
            {
                Store (Buffer (One)
                    {
                        0x03
                    }, Arg4)
                Return (One)
            }
            If (LEqual (Arg2, One))
            {
                Return (One)
            }
        }
    }
    Store (Buffer (One)
        {
            0x00
        }, Arg4)
    Return (Zero)
}

6. Compile and save DSDT.aml

Click on «IASL > Compile» again to compile your DSDT with latest changes and finally save by clicking on «IASL > Save AML as…«

I get my DSDT with the latest ACPI IASL tools from here and added DTGP method and some fixes needed but cannot compile it to aml file. My MB is GA-Z77M-D3H-MVP with the latest BIOS available. The errors and warnings shows below. Really need some help to get it done. Any useful help will be appreciated.

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20130517-32 [May 17 2013]
Copyright (c) 2000 - 2013 Intel Corporation
C:/Users/Cha0n/Desktop/dsdt_A.dsl 2318:					 CreateDWordField (B
UF0, _SB.PCI0._Y0F._LEN, MSLN)
Warning 3128 -														 Resource
Tag larger than Field ^ (Size mismatch, Tag: 64 bits, Field: 32 bits)
C:/Users/Chan/Desktop/dsdt_A.dsl 3501:						 Acquire (MUT0,
0x0FFF)
Warning 3130 -	 Result is not used, possible operator timeout will be mis
sed ^
C:/Users/Chan/Desktop/dsdt_A.dsl 7787:	 Method (UXDV, 1, NotSerialized)
Remark 2120 -									 ^ Control Method should b
e made Serialized (due to creation of named objects within)
C:/Users/Chan/Desktop/dsdt_A.dsl 7849:	 Method (RRIO, 4, NotSerialized)
Remark 2120 -									 ^ Control Method should b
e made Serialized (due to creation of named objects within)
C:/Users/Chan/Desktop/dsdt_A.dsl 8145:				 Store (Package (0x08)
Remark 2063 -	 Initializer list shorter than declared package length ^
C:/Users/Chan/Desktop/dsdt_A.dsl 8201:			 Method (_DOD, 0, NotSeriali
zed)
Remark 2120 -	 Control Method should be made Serialized ^ (due to creati
on of named objects within)
C:/Users/Chan/Desktop/dsdt_A.dsl 11076:		 Method (_HID, 0, NotSerialized)
Warning 3115 -	 Not all control paths return a value ^ (_HID)
C:/Users/Chan/Desktop/dsdt_A.dsl 11076:		 Method (_HID, 0, NotSerialized)
Warning 3107 -	 Reserved method must return a value ^ (Integer/String re
quired for _HID)
C:/Users/Chan/Desktop/dsdt_A.dsl 11134:		 Method (_DSM, 4, NotSerialized)
Remark 2120 - Control Method should be made Serialized ^ (due to creation o
f named objects within)
C:/Users/Chan/Desktop/dsdt_A.dsl 11376:		 Method (_DSM, 4, NotSerialized)
Remark 2120 - Control Method should be made Serialized ^ (due to creation o
f named objects within)
C:/Users/Chan/Desktop/dsdt_A.dsl 11663:		 Name (_HID, "ABCDEFGH")
Error 6035 -				 _HID suffix must be all hex digits ^ (GH)
ASL Input:	 C:/Users/Chan/Desktop/dsdt_A.dsl - 11782 lines, 354718 bytes, 439
4 keywords
Compilation complete. 1 Errors, 4 Warnings, 6 Remarks, 112 Optimizations

And I also want to know how to get the AR8186 ethernet built in to get TM to function. This is a small task though.

Dumping the ACPI tables and then recompiling them generates some warnings:

dsdt.dsl    745:             Acquire (_SB.PRES.CPLK, 0x0FFF)
Warning  3130 -                                           ^ Result is not used, possible operator timeout will be missed

dsdt.dsl    767:             Acquire (_SB.PRES.CPLK, 0x0FFF)
Warning  3130 -                                           ^ Result is not used, possible operator timeout will be missed

dsdt.dsl    775:             Acquire (_SB.PRES.CPLK, 0x0FFF)
Warning  3130 -                                           ^ Result is not used, possible operator timeout will be missed

dsdt.dsl    813:                 Return (CEJ0 (0x00))
Warning  3104 -                            ^ Reserved method should not return a value (_EJ0)

dsdt.dsl    813:                 Return (CEJ0 (0x00))
Error    6080 -                            ^ Called method returns no value

dsdt.dsl    909:             Acquire (MLCK, 0x0FFF)
Warning  3130 -                                 ^ Result is not used, possible operator timeout will be missed

dsdt.dsl    934:             Acquire (MLCK, 0x0FFF)
Warning  3130 -                                 ^ Result is not used, possible operator timeout will be missed

dsdt.dsl    948:             Acquire (MLCK, 0x0FFF)
Warning  3130 -                                 ^ Result is not used, possible operator timeout will be missed

dsdt.dsl    960:             CreateDWordField (MR64, _SB.MHPC.MCRS._Y00._MIN, MINL)  // _MIN: Minimum Base Address
Warning  3128 -                              ResourceTag larger than Field ^  (Size mismatch, Tag: 64 bits, Field: 32 bits)

dsdt.dsl    962:             CreateDWordField (MR64, _SB.MHPC.MCRS._Y00._MAX, MAXL)  // _MAX: Maximum Base Address
Warning  3128 -                              ResourceTag larger than Field ^  (Size mismatch, Tag: 64 bits, Field: 32 bits)

dsdt.dsl    964:             CreateDWordField (MR64, _SB.MHPC.MCRS._Y00._LEN, LENL)  // _LEN: Length
Warning  3128 -                              ResourceTag larger than Field ^  (Size mismatch, Tag: 64 bits, Field: 32 bits)

ASL Input:     dsdt.dsl -   33117 bytes    551 keywords   1140 source lines

Compilation failed. 1 Errors, 10 Warnings, 0 Remarks
No AML files were generated due to compiler error(s)

Here is an extract of results.log:

MTRR validation.
Test 1 of 3: Validate the kernel MTRR IOMEM setup.
FAILED [MEDIUM] MTRRIncorrectAttr: Test 1, Memory range 0xc0000000 to 0xdfffffff (PCI Bus 0000:00)
has incorrect attribute Write-Combining.
FAILED [MEDIUM] MTRRIncorrectAttr: Test 1, Memory range 0xfee01000 to 0xffffffff (PCI Bus 0000:00)
has incorrect attribute Write-Protect.
    ====================================================================================================

Test 1 of 1: Kernel log error check.
Kernel message: [ 0.208079] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored

ADVICE: This is not exactly a failure mode but a warning from the kernel. The _OSI() method has
implemented a match to the 'Linux' query in the DSDT and this is redundant because the ACPI driver
matches onto the Windows _OSI strings by default.

FAILED [HIGH] KlogACPIErrorMethodExecutionParse: Test 1, HIGH Kernel message: [ 3.512783] ACPI Error
: Method parse/execution failed [_SB_.PCI0.GFX0._DOD] (Node f7425858), AE_AML_PACKAGE_LIMIT
(20110623/psparse-536)

ADVICE: This is a bug picked up by the kernel, but as yet, the firmware test suite has no diagnostic
advice for this particular problem.

Found 1 unique errors in kernel log.
   ====================================================================================================


Check if system is using latest microcode.
----------------------------------------------------------------------------------------------------
Cannot read microcode file /usr/share/misc/intel-microcode.dat.
Aborted test, initialisation failed.
    ====================================================================================================

MSR register tests.
    FAILED [MEDIUM] MSRCPUsInconsistent: Test 1, MSR SYSENTER_ESP (0x175) has 1 inconsistent values
across 2 CPUs for (shift: 0 mask: 0xffffffffffffffff).
MSR CPU 0 -> 0xf7bb9c40 vs CPU 1 -> 0xf7bc7c40

FAILED [MEDIUM] MSRCPUsInconsistent: Test 1, MSR MISC_ENABLE (0x1a0) has 1 inconsistent values
across 2 CPUs for (shift: 0 mask: 0x400c51889).
MSR CPU 0 -> 0x850088 vs CPU 1 -> 0x850089
   ====================================================================================================

Checks firmware has set PCI Express MaxReadReq to a higher value on non-motherboard devices.
----------------------------------------------------------------------------------------------------
Test 1 of 1: Check firmware settings MaxReadReq for PCI Express devices.
MaxReadReq for pci://00:00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio
Controller (rev 03) is low (128) [Audio device].
MaxReadReq for pci://00:02:00.0 Network controller: Intel Corporation PRO/Wireless 5100 AGN [Shiloh]
Network Connection is low (128) [Network controller].
FAILED [LOW] LowMaxReadReq: Test 1, 2 devices have low MaxReadReq settings. Firmware may have
configured these too low.

ADVICE: The MaxReadRequest size is set too low and will affect performance. It will provide
excellent bus sharing at the cost of bus data transfer rates. Although not a critical issue, it may
be worth considering setting the MaxReadRequest size to 256 or 512 to increase throughput on the PCI
Express bus. Some drivers (for example the Brocade Fibre Channel driver) allow one to override the
firmware settings. Where possible, this BIOS configuration setting is worth increasing it a little
more for better performance at a small reduction of bus sharing.
    ====================================================================================================

PCIe ASPM check.
----------------------------------------------------------------------------------------------------
Test 1 of 2: PCIe ASPM ACPI test.
PCIE ASPM is not controlled by Linux kernel.

ADVICE: BIOS reports that Linux kernel should not modify ASPM settings that BIOS configured. It can
be intentional because hardware vendors identified some capability bugs between the motherboard and
the add-on cards.


Test 2 of 2: PCIe ASPM registers test.
WARNING: Test 2, RP 00h:1Ch.01h L0s not enabled.
WARNING: Test 2, RP 00h:1Ch.01h L1 not enabled.
WARNING: Test 2, Device 02h:00h.00h L0s not enabled.
WARNING: Test 2, Device 02h:00h.00h L1 not enabled.
PASSED: Test 2, PCIE aspm setting matched was matched.
WARNING: Test 2, RP 00h:1Ch.05h L0s not enabled.
WARNING: Test 2, RP 00h:1Ch.05h L1 not enabled.
WARNING: Test 2, Device 85h:00h.00h L0s not enabled.
WARNING: Test 2, Device 85h:00h.00h L1 not enabled.
PASSED: Test 2, PCIE aspm setting matched was matched.

====================================================================================================

Extract and analyse Windows Management Instrumentation (WMI).

Test 1 of 2: Check Windows Management Instrumentation in DSDT
Found WMI Method WMAA with GUID: 5FB7F034-2C63-45E9-BE91-3D44E2C707E4, Instance 0x01
Found WMI Event, Notifier ID: 0x80, GUID: 95F24279-4D7B-4334-9387-ACCDC67EF61C, Instance 0x01
PASSED: Test 1, GUID 95F24279-4D7B-4334-9387-ACCDC67EF61C is handled by driver hp-wmi (Vendor: HP).
Found WMI Event, Notifier ID: 0xa0, GUID: 2B814318-4BE8-4707-9D84-A190A859B5D0, Instance 0x01
FAILED [MEDIUM] WMIUnknownGUID: Test 1, GUID 2B814318-4BE8-4707-9D84-A190A859B5D0 is unknown to the
kernel, a driver may need to be implemented for this GUID.

ADVICE: A WMI driver probably needs to be written for this event.
It can checked for using: wmi_has_guid("2B814318-4BE8-4707-9D84-A190A859B5D0").
One can install a notify handler using
wmi_install_notify_handler("2B814318-4BE8-4707-9D84-A190A859B5D0", handler, NULL). 
http://lwn.net/Articles/391230 describes how to write an appropriate driver.

Found WMI Object, Object ID AB, GUID: 05901221-D566-11D1-B2F0-00A0C9062910, Instance 0x01, Flags: 00

Found WMI Method WMBA with GUID: 1F4C91EB-DC5C-460B-951D-C7CB9B4B8D5E, Instance 0x01
Found WMI Object, Object ID BC, GUID: 2D114B49-2DFB-4130-B8FE-4A3C09E75133, Instance 0x7f, Flags: 00

Found WMI Object, Object ID BD, GUID: 988D08E3-68F4-4C35-AF3E-6A1B8106F83C, Instance 0x19, Flags: 00

Found WMI Object, Object ID BE, GUID: 14EA9746-CE1F-4098-A0E0-7045CB4DA745, Instance 0x01, Flags: 00

Found WMI Object, Object ID BF, GUID: 322F2028-0F84-4901-988E-015176049E2D, Instance 0x01, Flags: 00

Found WMI Object, Object ID BG, GUID: 8232DE3D-663D-4327-A8F4-E293ADB9BF05, Instance 0x01, Flags: 00

Found WMI Object, Object ID BH, GUID: 8F1F6436-9F42-42C8-BADC-0E9424F20C9A, Instance 0x00, Flags: 00

Found WMI Object, Object ID BI, GUID: 8F1F6435-9F42-42C8-BADC-0E9424F20C9A, Instance 0x00, Flags: 00

Found WMI Method WMAC with GUID: 7391A661-223A-47DB-A77A-7BE84C60822D, Instance 0x01
Found WMI Object, Object ID BJ, GUID: DF4E63B6-3BBC-4858-9737-C74F82F821F3, Instance 0x05, Flags: 00
    ====================================================================================================

Disassemble DSDT to check for _OSI("Linux").
----------------------------------------------------------------------------------------------------
Test 1 of 1: Disassemble DSDT to check for _OSI("Linux").
This is not strictly a failure mode, it just alerts one that this has been defined in the DSDT and
probably should be avoided since the Linux ACPI driver matches onto the Windows _OSI strings
            {
                If (_OSI ("Linux"))
                {
                    Store (0x03E8, OSYS)
                }
                If (_OSI ("Windows 2001"))
                {
                    Store (0x07D1, OSYS)
                }
                If (_OSI ("Windows 2001 SP1"))
                {
                    Store (0x07D1, OSYS)
                }
                If (_OSI ("Windows 2001 SP2"))
                {
                    Store (0x07D2, OSYS)
                }
                If (_OSI ("Windows 2006"))
                {
                    Store (0x07D6, OSYS)
                }
                If (LAnd (MPEN, LEqual (OSYS, 0x07D1)))
                {
                    TRAP (0x01, 0x48)
                }
                TRAP (0x03, 0x35)
            }
WARNING: Test 1, DSDT implements a deprecated _OSI("Linux") test.

====================================================================================================
0 passed, 0 failed, 1 warnings, 0 aborted, 0 skipped, 0 info only.
====================================================================================================

ACPI DSDT Method Semantic Tests.
ACPICA Exception AE_AML_INFINITE_LOOP during execution of method COMP
Failed to install global event handler.
Test 22 of 93: Check _PSR (Power Source).
ACPICA Exception AE_AML_INFINITE_LOOP during execution of method COMP
WARNING: Test 22, Detected an infinite loop when evaluating method '_SB_.AC__._PSR'. 

ADVICE: This may occur because we are emulating the execution in this test environment and cannot
handshake with the embedded controller or jump to the BIOS via SMIs. However, the fact that AML code
spins forever means that lockup conditions are not being checked for in the AML bytecode.

PASSED: Test 22, _SB_.AC__._PSR correctly acquired and released locks 16 times.

Test 35 of 93: Check _TMP (Thermal Zone Current Temp).
ACPICA Exception AE_AML_INFINITE_LOOP during execution of method COMP
WARNING: Test 35, Detected an infinite loop when evaluating method '_TZ_.DTSZ._TMP'. 

ADVICE: This may occur because we are emulating the execution in this test environment and cannot
handshake with the embedded controller or jump to the BIOS via SMIs. However, the fact that AML code
spins forever means that lockup conditions are not being checked for in the AML bytecode.

PASSED: Test 35, _TZ_.DTSZ._TMP correctly acquired and released locks 14 times.
ACPICA Exception AE_AML_INFINITE_LOOP during execution of method COMP
WARNING: Test 35, Detected an infinite loop when evaluating method '_TZ_.CPUZ._TMP'. 

ADVICE: This may occur because we are emulating the execution in this test environment and cannot
handshake with the embedded controller or jump to the BIOS via SMIs. However, the fact that AML code
spins forever means that lockup conditions are not being checked for in the AML bytecode.

PASSED: Test 35, _TZ_.CPUZ._TMP correctly acquired and released locks 10 times.
ACPICA Exception AE_AML_INFINITE_LOOP during execution of method COMP
WARNING: Test 35, Detected an infinite loop when evaluating method '_TZ_.SKNZ._TMP'. 

ADVICE: This may occur because we are emulating the execution in this test environment and cannot
handshake with the embedded controller or jump to the BIOS via SMIs. However, the fact that AML code
spins forever means that lockup conditions are not being checked for in the AML bytecode.

PASSED: Test 35, _TZ_.SKNZ._TMP correctly acquired and released locks 10 times.
PASSED: Test 35, _TMP correctly returned sane looking value 0x00000b4c (289.2 degrees K)
PASSED: Test 35, _TZ_.BATZ._TMP correctly acquired and released locks 9 times.
PASSED: Test 35, _TMP correctly returned sane looking value 0x00000aac (273.2 degrees K)
PASSED: Test 35, _TZ_.FDTZ._TMP correctly acquired and released locks 7 times.

Test 46 of 93: Check _DIS (Disable).
FAILED [MEDIUM] MethodShouldReturnNothing: Test 46, _SB_.PCI0.LPCB.SIO_.COM1._DIS returned values,
but was expected to return nothing.
Object returned:
  INTEGER: 0x00000000

ADVICE: This probably won't cause any errors, but it should be fixed as the AML code is not
conforming to the expected behaviour as described in the ACPI specification.

FAILED [MEDIUM] MethodShouldReturnNothing: Test 46, _SB_.PCI0.LPCB.SIO_.LPT0._DIS returned values,
but was expected to return nothing.
Object returned:
  INTEGER: 0x00000000

ADVICE: This probably won't cause any errors, but it should be fixed as the AML code is not
conforming to the expected behaviour as described in the ACPI specification.


Test 61 of 93: Check _WAK (System Wake).
Test _WAK(1) System Wake, State S1.
ACPICA Exception AE_AML_INFINITE_LOOP during execution of method COMP
WARNING: Test 61, Detected an infinite loop when evaluating method '_WAK'. 

ADVICE: This may occur because we are emulating the execution in this test environment and cannot
handshake with the embedded controller or jump to the BIOS via SMIs. However, the fact that AML code
spins forever means that lockup conditions are not being checked for in the AML bytecode.

Test _WAK(2) System Wake, State S2.
ACPICA Exception AE_AML_INFINITE_LOOP during execution of method COMP
WARNING: Test 61, Detected an infinite loop when evaluating method '_WAK'. 

ADVICE: This may occur because we are emulating the execution in this test environment and cannot
handshake with the embedded controller or jump to the BIOS via SMIs. However, the fact that AML code
spins forever means that lockup conditions are not being checked for in the AML bytecode.


Test _WAK(3) System Wake, State S3.
ACPICA Exception AE_AML_INFINITE_LOOP during execution of method COMP
WARNING: Test 61, Detected an infinite loop when evaluating method '_WAK'. 

ADVICE: This may occur because we are emulating the execution in this test environment and cannot
handshake with the embedded controller or jump to the BIOS via SMIs. However, the fact that AML code
spins forever means that lockup conditions are not being checked for in the AML bytecode.


Test _WAK(4) System Wake, State S4.
ACPICA Exception AE_AML_INFINITE_LOOP during execution of method COMP
WARNING: Test 61, Detected an infinite loop when evaluating method '_WAK'. 

ADVICE: This may occur because we are emulating the execution in this test environment and cannot
handshake with the embedded controller or jump to the BIOS via SMIs. However, the fact that AML code
spins forever means that lockup conditions are not being checked for in the AML bytecode.


Test _WAK(5) System Wake, State S5.
ACPICA Exception AE_AML_INFINITE_LOOP during execution of method COMP
WARNING: Test 61, Detected an infinite loop when evaluating method '_WAK'. 

ADVICE: This may occur because we are emulating the execution in this test environment and cannot
handshake with the embedded controller or jump to the BIOS via SMIs. However, the fact that AML code
spins forever means that lockup conditions are not being checked for in the AML bytecode.




Test 87 of 93: Check _BCL (Query List of Brightness Control Levels Supported).
  Package has 2 elements:
    00: INTEGER: 0x00000000
    01: INTEGER: 0x00000000
FAILED [MEDIUM] Method_BCLElementCount: Test 87, Method _BCL should return a package of more than 2
integers, got just 2.


Test 88 of 93: Check _BCM (Set Brightness Level).
ACPICA Exception AE_AML_PACKAGE_LIMIT during execution of method _BCM
FAILED [CRITICAL] AEAMLPackgeLimit: Test 88, Detected error 'Package limit' when evaluating
'_SB_.PCI0.GFX0.DD02._BCM'.

====================================================================================================


ACPI table settings sanity checks.
----------------------------------------------------------------------------------------------------
Test 1 of 1: Check ACPI tables.
PASSED: Test 1, Table APIC passed.
Table ECDT not present to check.
FAILED [MEDIUM] FADT32And64BothDefined: Test 1, FADT 32 bit FIRMWARE_CONTROL is non-zero, and
X_FIRMWARE_CONTROL is also non-zero. Section 5.2.9 of the ACPI specification states that if the
FIRMWARE_CONTROL is non-zero then X_FIRMWARE_CONTROL must be set to zero.

ADVICE: The FADT FIRMWARE_CTRL is a 32 bit pointer that points to the physical memory address of the
Firmware ACPI Control Structure (FACS). There is also an extended 64 bit version of this, the
X_FIRMWARE_CTRL pointer that also can point to the FACS. Section 5.2.9 of the ACPI specification
states that if the X_FIRMWARE_CTRL field contains a non zero value then the FIRMWARE_CTRL field
*must* be zero. This error is also detected by the Linux kernel. If FIRMWARE_CTRL and
X_FIRMWARE_CTRL are defined, then the kernel just uses the 64 bit version of the pointer.

PASSED: Test 1, Table HPET passed.
PASSED: Test 1, Table MCFG passed.
PASSED: Test 1, Table RSDT passed.
PASSED: Test 1, Table RSDP passed.
Table SBST not present to check.
PASSED: Test 1, Table XSDT passed.

    ====================================================================================================

Re-assemble DSDT and find syntax errors and warnings.
----------------------------------------------------------------------------------------------------
Test 1 of 2: Disassemble and reassemble DSDT
FAILED [HIGH] AMLAssemblerError4043: Test 1, Assembler error in line 2261
Line | AML source
----------------------------------------------------------------------------------------------------
02258|                     0x00000000,         // Range Minimum
02259|                     0xFEDFFFFF,         // Range Maximum
02260|                     0x00000000,         // Translation Offset
02261|                     0x00000000,         // Length
     |                              ^
     | error 4043: Invalid combination of Length and Min/Max fixed flags
02262|                     ,, _Y0E, AddressRangeMemory, TypeStatic)
02263|                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
02264|                     0x00000000,         // Granularity
====================================================================================================

ADVICE: (for error #4043): This occurs if the length is zero and just one of the resource MIF/MAF
flags are set, or the length is non-zero and resource MIF/MAF flags are both set. These are illegal
combinations and need to be fixed. See section 6.4.3.5 Address Space Resource Descriptors of version
4.0a of the ACPI specification for more details.

FAILED [HIGH] AMLAssemblerError4050: Test 1, Assembler error in line 2268
Line | AML source
----------------------------------------------------------------------------------------------------
02265|                     0xFEE01000,         // Range Minimum
02266|                     0xFFFFFFFF,         // Range Maximum
02267|                     0x00000000,         // Translation Offset
02268|                     0x011FEFFF,         // Length
     |                              ^
     | error 4050: Length is not equal to fixed Min/Max window  
02269|                     ,, , AddressRangeMemory, TypeStatic)
02270|             })
02271|             Method (_CRS, 0, Serialized)
====================================================================================================

ADVICE: (for error #4050): The minimum address is greater than the maximum address. This is illegal.

FAILED [HIGH] AMLAssemblerError1104: Test 1, Assembler error in line 8885
Line | AML source
----------------------------------------------------------------------------------------------------
08882|                         Method (_DIS, 0, NotSerialized)
08883|                         {
08884|                             DSOD (0x02)
08885|                             Return (0x00)
     |                                        ^
     | warning level 0 1104: Reserved method should not return a value    (_DIS)
08886|                         }
08887| 
08888|                         Method (_SRS, 1, NotSerialized)
====================================================================================================
FAILED [HIGH] AMLAssemblerError1104: Test 1, Assembler error in line 9195
Line | AML source
----------------------------------------------------------------------------------------------------
09192|                         Method (_DIS, 0, NotSerialized)
09193|                         {
09194|                             DSOD (0x01)
09195|                             Return (0x00)
     |                                        ^
     | warning level 0 1104: Reserved method should not return a value    (_DIS)
09196|                         }
09197| 
09198|                         Method (_SRS, 1, NotSerialized)
====================================================================================================
FAILED [HIGH] AMLAssemblerError1127: Test 1, Assembler error in line 9242
Line | AML source
----------------------------------------------------------------------------------------------------
09239|                             CreateWordField (CRES, _SB.PCI0.LPCB.SIO.LPT0._CRS._Y21._MAX, MAX2)
09240|                             CreateByteField (CRES, _SB.PCI0.LPCB.SIO.LPT0._CRS._Y21._LEN, LEN2)
09241|                             CreateWordField (CRES, _SB.PCI0.LPCB.SIO.LPT0._CRS._Y22._INT, IRQ0)
09242|                             CreateWordField (CRES, _SB.PCI0.LPCB.SIO.LPT0._CRS._Y23._DMA, DMA0)
     |                                                                                         ^
     | warning level 0 1127: ResourceTag smaller than Field    (Tag: 8 bits, Field: 16 bits)
09243|                             If (RLPD)
09244|                             {
09245|                                 Store (0x00, Local0)
====================================================================================================
FAILED [HIGH] AMLAssemblerError1128: Test 1, Assembler error in line 18682
Line | AML source
----------------------------------------------------------------------------------------------------
18679|                     Store (0x01, Index (DerefOf (Index (Local0, 0x02)), 0x01))
18680|                     If (And (WDPE, 0x40))
18681|                     {
18682|                         Wait (_SB.BEVT, 0x10)
     |                                             ^
     | warning level 0 1128: Result is not used, possible operator timeout will be missed
18683|                     }
18684| 
18685|                     Store (BRID, Index (DerefOf (Index (Local0, 0x02)), 0x02))
====================================================================================================

ADVICE: (for warning level 0 #1128): The operation can possibly timeout, and hence the return value
indicates an timeout error. However, because the return value is not checked this very probably
indicates that the code is buggy. A possible scenario is that a mutex times out and the code
attempts to access data in a critical region when it should not. This will lead to undefined
behaviour. This should be fixed.

Table DSDT (0) reassembly: Found 2 errors, 4 warnings.

Test 2 of 2: Disassemble and reassemble SSDT
PASSED: Test 2, SSDT (0) reassembly, Found 0 errors, 0 warnings.
FAILED [HIGH] AMLAssemblerError1104: Test 2, Assembler error in line 60
Line | AML source
----------------------------------------------------------------------------------------------------
00057|         {
00058|             Store (CPDC (Arg0), Local0)
00059|             GCAP (Local0)
00060|             Return (Local0)
     |                          ^
     | warning level 0 1104: Reserved method should not return a value (_PDC)
00061|         }
00062| 
00063|         Method (_OSC, 4, NotSerialized)
====================================================================================================
FAILED [HIGH] AMLAssemblerError1104: Test 2, Assembler error in line 174
Line | AML source
----------------------------------------------------------------------------------------------------
00171|         {
00172|             Store (_PR.CPU0.CPDC (Arg0), Local0)
00173|             GCAP (Local0)
00174|             Return (Local0)
     |                          ^
     | warning level 0 1104: Reserved method should not return a value (_PDC)
00175|         }
00176| 
00177|         Method (_OSC, 4, NotSerialized)
====================================================================================================
FAILED [HIGH] AMLAssemblerError1104: Test 2, Assembler error in line 244
Line | AML source
----------------------------------------------------------------------------------------------------
00241|         {
00242|             Store (_PR.CPU0.CPDC (Arg0), Local0)
00243|             GCAP (Local0)
00244|             Return (Local0)
     |                          ^
     | warning level 0 1104: Reserved method should not return a value (_PDC)
00245|         }
00246| 
00247|         Method (_OSC, 4, NotSerialized)
====================================================================================================
FAILED [HIGH] AMLAssemblerError1104: Test 2, Assembler error in line 290
Line | AML source
----------------------------------------------------------------------------------------------------
00287|         {
00288|             Store (_PR.CPU0.CPDC (Arg0), Local0)
00289|             GCAP (Local0)
00290|             Return (Local0)
     |                          ^
     | warning level 0 1104: Reserved method should not return a value (_PDC)
00291|         }
00292| 
00293|         Method (_OSC, 4, NotSerialized)
====================================================================================================
Table SSDT (1) reassembly: Found 0 errors, 4 warnings.
PASSED: Test 2, SSDT (2) reassembly, Found 0 errors, 0 warnings.
PASSED: Test 2, SSDT (3) reassembly, Found 0 errors, 0 warnings.

====================================================================================================
3 passed, 10 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
====================================================================================================

Critical failures: 1
 method test, at 1 log line: 1449: Detected error 'Package limit' when evaluating '_SB_.PCI0.GFX0.DD02._BCM'.

High failures: 11
 klog test, at 1 log line: 121: HIGH Kernel message: [    3.512783] ACPI Error: Method parse/execution failed [_SB_.PCI0.GFX0._DOD] (Node f7425858), AE_AML_PACKAGE_LIMIT (20110623/psparse-536)
 syntaxcheck test, at 1 log line: 1668: Assembler error in line 2261
 syntaxcheck test, at 1 log line: 1687: Assembler error in line 2268
 syntaxcheck test, at 1 log line: 1703: Assembler error in line 8885
 syntaxcheck test, at 1 log line: 1716: Assembler error in line 9195
 syntaxcheck test, at 1 log line: 1729: Assembler error in line 9242
 syntaxcheck test, at 1 log line: 1742: Assembler error in line 18682
 syntaxcheck test, at 1 log line: 1766: Assembler error in line 60
 syntaxcheck test, at 1 log line: 1779: Assembler error in line 174
 syntaxcheck test, at 1 log line: 1792: Assembler error in line 244
 syntaxcheck test, at 1 log line: 1805: Assembler error in line 290

Medium failures: 9
 mtrr test, at 1 log line: 76: Memory range 0xc0000000 to 0xdfffffff (PCI Bus 0000:00) has incorrect attribute Write-Combining.
 mtrr test, at 1 log line: 78: Memory range 0xfee01000 to 0xffffffff (PCI Bus 0000:00) has incorrect attribute Write-Protect.
 msr test, at 1 log line: 165: MSR SYSENTER_ESP (0x175) has 1 inconsistent values across 2 CPUs for (shift: 0 mask: 0xffffffffffffffff).
 msr test, at 1 log line: 173: MSR MISC_ENABLE (0x1a0) has 1 inconsistent values across 2 CPUs for (shift: 0 mask: 0x400c51889).
 wmi test, at 1 log line: 528: GUID 2B814318-4BE8-4707-9D84-A190A859B5D0 is unknown to the kernel, a driver may need to be implemented for this GUID.
 method test, at 1 log line: 1002: _SB_.PCI0.LPCB.SIO_.COM1._DIS returned values, but was expected to return nothing.
 method test, at 1 log line: 1011: _SB_.PCI0.LPCB.SIO_.LPT0._DIS returned values, but was expected to return nothing.
 method test, at 1 log line: 1443: Method _BCL should return a package of more than 2 integers, got just 2.
 acpitables test, at 1 log line: 1643: FADT 32 bit FIRMWARE_CONTROL is non-zero, and X_FIRMWARE_CONTROL is also non-zero. Se

I can’t fix DSDT. Please help me fix it.

Thanks for help.

Intel ACPI Component Architecture

ASL Optimizing Compiler version 20110112-32 [Jan 13 2011]

Copyright © 2000 — 2011 Intel Corporation

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 2325: And (ECAD, 0xFFFE, ECIN)

Error 4096-syntax error, unexpected PARSEOP_AND ^

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 2326: OperationRegion (ECBP, SystemIO, ECIN, 0x02)

Error 4064 — Object does not exist ^ (ECIN)

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 2331: OperationRegion (ECIO, SystemIO, ECIN, 0x02)

Error 4064 — Object does not exist ^ (ECIN)

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 2363: Acquire (ECMU, 0x5000)

Error 4064 — Object does not exist ^ (ECMU)

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 2363: Acquire (ECMU, 0x5000)

Warning 1105-Result is not used, possible operator timeout will be missed ^

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 2375: Release (ECMU)

Error 4064 — Object does not exist ^ (ECMU)

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 2380: Acquire (ECMU, 0x1388)

Error 4064 — Object does not exist ^ (ECMU)

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 2380: Acquire (ECMU, 0x1388)

Warning 1105-Result is not used, possible operator timeout will be missed ^

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 2394: Release (ECMU)

Error 4064 — Object does not exist ^ (ECMU)

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 2394: Release (ECMU)

Warning 1100 — Statement is unreachable ^

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 2398: Acquire (ECMU, 0x1388)

Error 4064 — Object does not exist ^ (ECMU)

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 2398: Acquire (ECMU, 0x1388)

Warning 1105-Result is not used, possible operator timeout will be missed ^

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 2412: Release (ECMU)

Error 4064 — Object does not exist ^ (ECMU)

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 2567: If (ECEN)

Error 4064 — Object does not exist ^ (ECEN)

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 2574: If (ECEN)

Error 4064 — Object does not exist ^ (ECEN)

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 5108: Acquire (MUTE, 0x03E8)

Warning 1105-Result is not used, possible operator timeout will be missed ^

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 5120: Acquire (MUTE, 0x03E8)

Warning 1105-Result is not used, possible operator timeout will be missed ^

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 5133: Acquire (MUTE, 0x03E8)

Warning 1105-Result is not used, possible operator timeout will be missed ^

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 5146: Acquire (MUTE, 0x0FFF)

Warning 1105-Result is not used, possible operator timeout will be missed ^

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 5158: Acquire (MUTE, 0x03E8)

Warning 1105-Result is not used, possible operator timeout will be missed ^

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 5171: Acquire (MUTE, 0x03E8)

Warning 1105-Result is not used, possible operator timeout will be missed ^

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 5184: Acquire (MUTE, 0x03E8)

Warning 1105-Result is not used, possible operator timeout will be missed ^

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 5375: And (CTRL, 0x1E, , CTRL)

Error 4096-syntax error, unexpected ‘,’, expecting ‘)’ ^

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 7079: Method (CCMN, 3, NotSerialized)

Warning 1088-Not all control paths return a value ^ (CCMN)

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 7249: Method (SETV, 2, NotSerialized)

Warning 1088-Not all control paths return a value ^ (SETV)

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 7990: Add (Local1, 0x80)

Warning 1105-Result is not used, operator has no effect ^

/Applications/DSDTSE.app/Contents/Resources/DSDTFiles/dsdt.dsl 8463: Method (WMAA, 3, NotSerialized)

Warning 1088-Not all control paths return a value ^ (WMAA)

ASL Input: — 8639 lines, 306538 bytes, 3064 keywords

Compilation complete. 12 Errors, 15 Warnings, 0 Remarks, 66 Optimizations

Понравилась статья? Поделить с друзьями:
  • Как правильно составить завещание на одного человека
  • Как найти потерянные права водительские права
  • Как в таблице найти абзац
  • Как найти всю переписку вконтакте
  • Тест как найти свой цвет волос