Contribute
Register

[Guide] Patching LAPTOP DSDT/SSDTs

Under common patches, I dont understand a few things,

1) "Add IMEI" (do not use if your DSDT or SSDTs already have IMEI/HECI/MEI device)"

How do you know if you already have such a device?

2) "Note: The 'x' SSDTs from a Clover dump.... are loaded dynamically and are never included in ACPI/patched (they are SSDTs loaded on-demand with ACPI Load from SystemMemory)."

Does this mean do not make any edits to these SSDT's and do not include them in the patched folder? These SSDT's contain all my cpu information in my case. Also, should I leave the x in or remove it "i.e. SSDT-5x"

3) "Note: Do not use the "Fix PNOT/PPNT" patch if you're including all OEM SSDTs. It is intended only for the case you omit the OEM CPU related SSDTs."

What do you mean here, do you mean if I am patching all SSDT's? By default if I dont patch them, all OEM SSDT's will be loaded on their own, correct?

4) "Sorted Order"

What does this variable do? If I patch DSDT, SSDT-0, and SSDT-4, can I just place those in the patched directory and they will be loaded? Or do I need to fill in the gap and bring over SSDT-1 through SSDT-3 for them to load?
 
Under common patches, I dont understand a few things,

1) "Add IMEI" (do not use if your DSDT or SSDTs already have IMEI/HECI/MEI device)"
How do you know if you already have such a device?

It has a very specific address, search for the well known address.

2) "Note: The 'x' SSDTs from a Clover dump.... are loaded dynamically and are never included in ACPI/patched (they are SSDTs loaded on-demand with ACPI Load from SystemMemory)."

Does this mean do not make any edits to these SSDT's and do not include them in the patched folder?

Yes. "never included in ACPI/patched" is very clear.

3) "Note: Do not use the "Fix PNOT/PPNT" patch if you're including all OEM SSDTs. It is intended only for the case you omit the OEM CPU related SSDTs."

What do you mean here, do you mean if I am patching all SSDT's?

Has to do with whether you are dropping the SSDTs that define the objects referred to by these methods (and not including them in ACPI/patched).

By default if I dont patch them, all OEM SSDT's will be loaded on their own, correct?

OEM SSDT injection depends on the state of DropOem.

4) "Sorted Order"

What does this variable do?

It sets the load order for SSDTs in APCI/patched.

If I patch DSDT, SSDT-0, and SSDT-4, can I just place those in the patched directory and they will be loaded?

They will be loaded, but if you don't use SortedOrder, the order of loading is non-deterministic.

Or do I need to fill in the gap and bring over SSDT-1 through SSDT-3 for them to load?

This is covered quite clearly in the guide. If you have any patched SSDTs, you must include them all, and must use DropOem=true, and must use SortedOrder to set the order.
 
It has a very specific address, search for the well known address.

This is covered quite clearly in the guide. If you have any patched SSDTs, you must include them all, and must use DropOem=true, and must use SortedOrder to set the order.

This is where I dont understand. You said never include any SSDTs that include an x, but here you say if I patched any SSDT's I must include them all in the patched folder. This is my confusion..

If I patch SSDT-2 and SSDT-3, THEN DropOem=true or it wont load the patched ones?
If DropOem=true, THEN I must include all SSDT's (does this mean even the SSDT's with an x OR do you mean all the SSDT's "except the ones with an x"? And if there is a gap between the then I must define the sorted order around the gap SSDT-1 through SSDT 4, followed by SSDT-12 or also include the x SSDT in the sorted order?
 
Hi RehabMan,
I have extract the DSDT.aml in Clover, and disassembled it by iasl. Then i use MaciASL to open the DSDT.dsl and clicking Compile, there were 201 errors. could you please help me to correct it ?
 

Attachments

  • DSDT.dsl
    363.8 KB · Views: 141
This is where I dont understand. You said never include any SSDTs that include an x, but here you say if I patched any SSDT's I must include them all in the patched folder. This is my confusion..

The guide is quite clear regarding dynamic SSDTs. You should read it carefully.

If I patch SSDT-2 and SSDT-3, THEN DropOem=true or it wont load the patched ones?

Simple rules: If you have any patched SSDTs in ACPI/patched, DropOem must be true. And all non-dynamic SSDTs must be included in ACPI/patched. And SortedOrder must be used to set the load order.
 
Hi RehabMan,
I have extract the DSDT.aml in Clover, and disassembled it by iasl. Then i use MaciASL to open the DSDT.dsl and clicking Compile, there were 201 errors. could you please help me to correct it ?

Read post #1 for proper disassembly instructions.
 
Read post #1 for proper disassembly instructions.
i hate my laptop! it's been a while since I try to disable Nvidia card but without success. Today, also for necessity, I decided to try again.. I follow your guide, RehabMan, I've extracted dsdt and ssdt with clover and I have 7 ssdt, install iasl6.1, maciASL (your maciASL) then disassembling all and I have some errors.

before posting that errors, I ask you, when I disassembly all, should I need to include ssdt-*x?

the errors are only:

in SSDT-6, that contains the discrete Nvidia card, I have 12 errors:
Code:
6126, syntax error, unexpected PARSEOP_RETURN, expecting ',' or ')'
6126, syntax error, unexpected ')'

in SSDT-1 i have 32 errors
Code:
6126, syntax error, unexpected PARSEOP_PACKAGE
6126, syntax error, unexpected '{'

also some warning...
 
Last edited:
i hate my laptop! it's been a while since I try to disable Nvidia card but without success. Today, also for necessity, I decided to try again.. I follow your guide, RehabMan, I've extracted dsdt and ssdt with clover and I have 7 ssdt, install iasl6.1, maciASL (your maciASL) then disassembling all and I have some errors.

before posting that errors, I ask you, when I disassembly all, should I need to include ssdt-*x?

the errors are only:

in SSDT-6, that contains the discrete Nvidia card, I have 12 errors:
Code:
6126, syntax error, unexpected PARSEOP_RETURN, expecting ',' or ')'
6126, syntax error, unexpected ')'

in SSDT-1 i have 32 errors
Code:
6126, syntax error, unexpected PARSEOP_PACKAGE
6126, syntax error, unexpected '{'

also some warning...

I don't see where you attached the files. Error messages from the compiler have line numbers for a reason.
 
I don't see where you attached the files. Error messages from the compiler have line numbers for a reason.

sorry, I forgot...
 

Attachments

  • dsdt.zip
    137.9 KB · Views: 71
sorry, I forgot...

Correct disassembly: iasl -da -dl *.aml
SSDT-1.dsl: Apply "Remove _PSS placeholders"
SSDT-6.dsl: Apply "Fix/Cleanup Errors (SSDT)"
 
Back
Top