Jump to content

Help Needed compiling DSDT


takeawaydave
 Share

8 posts in this topic

Recommended Posts

I have decompiled DSDT.aml files and trying to recompile with no errors.

 

I hit the common error:

 

3950, 6126, syntax error, unexpected PARSEOP_IF, PARSEOP_CLOSE_PAREN or ','

 

I have tried this to fix.

 

From:

 

                If (LEqual (PM6H, One))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW)  // _RW_: Read-Write Status
                    Store (Zero, ECRW (If (PM0H)
                            {
                                CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN)  // _LEN: Length
                                Store (Zero, F0LN)
                            }))
                }

 

To:

 

                If (LEqual (PM6H, One))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW)  // _RW_: Read-Write Status
                    Store (Zero, ECRW)
                }    
                    
                If (PM0H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN)  // _LEN: Length
                    Store (Zero, F0LN)
                }

 

Is this done right ?

 

 

Here is DSDT.dsl.zip

Link to comment
Share on other sites

            If (LEqual (Local1, One))
            {
                Sleep (0x10)
                Release (OSUM)
                ADBG ("OS_Up_Received")
                If (LEqual (DPTF, One))
                {
                    _E42 ()
                }
                Return (Zero)
            }

@gengik84 - thanks for confirming - this opens a ton of other Warnings plus 1 error:

 

Quote

18034, 6152, Illegal recursive call to method that creates named objects (_E42)

 

What gives with section?

            If (LEqual (Local1, One))
            {
                Sleep (0x10)
                Release (OSUM)
                ADBG ("OS_Up_Received")
                If (LEqual (DPTF, One))
                {
                    _E42 ()
                }
                Return (Zero)
            }

EDIT: 

 

Tried this but don't work:

 

            If (LEqual (Local1, One))
            {
                Sleep (0x10)
                Release (OSUM)
                ADBG ("OS_Up_Received")
            }
               
            If (LEqual (DPTF, One))
            {
                _E42 ()
                Return (Zero)
            }

EDIT 2:

 

Can I just drop:

 

_E42 ()

 

To Give:


 

            If (LEqual (Local1, One))
            {
                Sleep (0x10)
                Release (OSUM)
                ADBG ("OS_Up_Received")
            }
               
            If (LEqual (DPTF, One))
            {
                Return (Zero)
            }

 

Edited by takeawaydave
Link to comment
Share on other sites

2 hours ago, takeawaydave said:

Thanks @MaLd0n how to know what to drop ? 

 

Can sections of table that issue compile warnings like "Method Local is set but never used (Local0)" be dropped ? or do these methods get used elsewhere in other ACPI tables?

 

just ignore warnings, need fix errors and apply patches:yes:

Link to comment
Share on other sites

3 minutes ago, MaLd0n said:

just ignore warnings, need fix errors and apply patches:yes:

 

@MaLd0n Thanks !

 

One more Error similar to above

 

13116, 6126, syntax error, unexpected PARSEOP_ADD, expecting PARSEOP_CLOSE_PAREN

 

For:

 

        Store (ShiftLeft (Add (One, Local2), One, Add (One, Local2)), Local3)
 

How should this get transformed?


 

 

 

 

Link to comment
Share on other sites

On 8/27/2019 at 6:46 PM, takeawaydave said:

 

@MaLd0n Thanks !

 

One more Error similar to above

 

13116, 6126, syntax error, unexpected PARSEOP_ADD, expecting PARSEOP_CLOSE_PAREN

 

For:

 

        Store (ShiftLeft (Add (One, Local2), One, Add (One, Local2)), Local3)
 

How should this get transformed?


 

 

 

 

post dsdt here

Link to comment
Share on other sites

 Share

×
×
  • Create New...