Contribute
Register

[Guide] Patching LAPTOP DSDT/SSDTs

Seems like I have some duplicates in aml file, because I can't transform it to dsl. But all files have another sizes. If I only transforming DSDT, then in MaciASL I'm getting unexpected PARSEOP_LOCAL0, PARSEOP_LOCAL0, PARSEOP_LOCAL0 and PARSEOP_LOCAL2 error. I don't know what to do now.
Thanks for help.
 

Attachments

  • apci lenovo.zip
    83.6 KB · Views: 78
Seems like I have some duplicates in aml file, because I can't transform it to dsl. But all files have another sizes. If I only transforming DSDT, then in MaciASL I'm getting unexpected PARSEOP_LOCAL0, PARSEOP_LOCAL0, PARSEOP_LOCAL0 and PARSEOP_LOCAL2 error. I don't know what to do now.
Thanks for help.

Your files have embedded External opcodes.
As per post #1, no need to use -da or -fe refs.txt: iasl -dl DSDT.aml SSDT*.aml
 
Hi Mr. Rehabman. I've got 2 questions...

- I'm using the config.plist that you publish in Github for Intel HD 5500 and i see that there are some patches in ACPI/DSDT, so shouldn't I patch my DSDT with the patches that are applied in the config.plist? I dont know if you understand me...

- With your guide i generated 1 DSDT file and 12 SSDT files. Should I use only the DSDT file? I read that you recommend that we shouldn't use the SSDT files that was generated.

Thanks in advance
 

Attachments

  • config.plist
    13.3 KB · Views: 157
  • Captura de pantalla 2018-10-12 a la(s) 11.39.43 p. m..png
    Captura de pantalla 2018-10-12 a la(s) 11.39.43 p. m..png
    168.8 KB · Views: 79
Last edited:
- I'm using the config.plist that you publish in Github for Intel HD 5500 and i see that there are some patches in ACPI/DSDT, so shouldn't I patch my DSDT with the patches that are applied in the config.plist? I dont know if you understand me...

Those patches are rename patches. As per post #1, rename patches are best accomplished via config.plist/ACPI/DSDT/Patches and not applied to the files you put in ACPI/patched.

- With your guide i generated 1 DSDT file and 12 SSDT files. Should I use only the DSDT file? I read that you recommend that we shouldn't use the SSDT files that was generated.

Since your system has only IGPU, you will find no need to patch any of the SSDTs, therefore (as per post #1) none of them need be in ACPI/patched.
 
Mobo: HP 250 G5 (Clover)
CPU: i5-6200u
Graphics: HD520, 1920x1080

I'm about to patch my DSDT/SSDT files to get ready it to do some modifications but...

If I decompile the files with the direct
Code:
iasl -dl DSDT.aml SSDT*.aml
method, I get for DSDT.dsl 0 warnings and 1 error:

synthax error, UNEXPECTED PARSEOP_ARG1
inside this part of the code:

Code:
        Device (SAT0)
        {
            Name (_ADR, 0x00170000)  // _ADR: Address
            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (PCIC (Arg0))
                {
                    Return (PCID (Arg0, Arg1, Arg2, Arg3))
                }

                If (CondRefOf (\_SB.PCI0.SAT0.SDSM))
                {
                    Return (SDSM)
                    Arg0
                    Arg1
                    Arg2
                    Arg3
                }

                Return (Zero)
            }

Tried all the synthax fixes from your repository (I can't even apply some of them) but without success. Tried to delete part of the code but without success.

If I decompile with declarations (refs.txt) method I get for DSDT.dsl 116 warnings and 1 error:

[Unknown ASL Compiler Exception ID] [MDBG (Method)] highlighting this line of code:

Code:
OperationRegion (MDBG, SystemMemory, 0x7AF4A018, 0x00001004)

Tried with iasl51, iasl61 and iasl.

I attach my origin.zip folder, the DSDT.dsl compiled with 1st method and the DSDT.dsl compiled with the external declaration method.
 

Attachments

  • dsdt_direct.zip
    61.1 KB · Views: 60
  • dsdt_external_declaration.zip
    61.1 KB · Views: 56
  • origin_folder.zip
    111.1 KB · Views: 70
Mobo: HP 250 G5 (Clover)
CPU: i5-6200u
Graphics: HD520, 1920x1080

I'm about to patch my DSDT/SSDT files to get ready it to do some modifications but...

If I decompile the files with the direct
Code:
iasl -dl DSDT.aml SSDT*.aml
method, I get for DSDT.dsl 0 warnings and 1 error:

synthax error, UNEXPECTED PARSEOP_ARG1
inside this part of the code:

Code:
        Device (SAT0)
        {
            Name (_ADR, 0x00170000)  // _ADR: Address
            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (PCIC (Arg0))
                {
                    Return (PCID (Arg0, Arg1, Arg2, Arg3))
                }

                If (CondRefOf (\_SB.PCI0.SAT0.SDSM))
                {
                    Return (SDSM)
                    Arg0
                    Arg1
                    Arg2
                    Arg3
                }

                Return (Zero)
            }

Two choices:
- Since you know SDSM is not existing, therefore the CondRefOf result will always be 0, just remove the code:
Code:
        Device (SAT0)
        {
            Name (_ADR, 0x00170000)  // _ADR: Address
            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (PCIC (Arg0))
                {
                    Return (PCID (Arg0, Arg1, Arg2, Arg3))
                }
                Return (Zero)
            }

-OR-

- Disassemble with a refs.txt that has only the SDSM entry.
 
Two choices:
- Since you know SDSM is not existing, therefore the CondRefOf result will always be 0, just remove the code:
Code:
        Device (SAT0)
        {
            Name (_ADR, 0x00170000)  // _ADR: Address
            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (PCIC (Arg0))
                {
                    Return (PCID (Arg0, Arg1, Arg2, Arg3))
                }
                Return (Zero)
            }

-OR-

- Disassemble with a refs.txt that has only the SDSM entry.

I did it with the 2nd method you suggested because the 1st still give me 2 errors, one the same highlighting Arg1 line.

Thanks again and have a nice sunday.
 
I did it with the 2nd method you suggested because the 1st still give me 2 errors, one the same highlighting Arg1 line.

Arg1 line? What are you referring to?
 
Thank you so much, Mr. RehabMan! I learnt a lot from this. I'm translating this post to Chinese, could I beg your permission?


Also provided in the repo is "USB _PRW 0x0D (instant wake)" (0x0D and 0x6D are both common values for XHC/EHC/HDEF return from _PRW).
It seems this sentence is redundant. It should be moved to the sentence before.
 
Back
Top