Contribute
Register

[Guide] Patching LAPTOP DSDT/SSDTs

I'm not sure at all, but I have some problems with OsxAptioDrv and "Allow Unrestricted NVRAM"
On another computer I can boot with 0x3 on the "System Integrity Protection" on Clover. On my laptop, I need the "Allow Unrestricted NVRAM" as I said to boot, if not, I get OsxAptioDrv problems, even with LowMem and v2 versions, any thoughts about if it can be the problem?

It is typical. And off-topic.
 
Code:
Gians-MBP:~ giandefreitas$ cd ~/Documents
Gians-MBP:Documents giandefreitas$ iasl -da -dl *.aml

Intel ACPI Component Architecture
ASL+ Optimizing Compiler version 20160422-64(RM)
Copyright (c) 2000 - 2016 Intel Corporation

Input file DSDT.aml, Length 0x13911 (80145) bytes
ACPI: DSDT 0x0000000000000000 013911 (v02 _ASUS_ Notebook 00000013 INTL 20091112)
External object resolution file      SSDT-9x.aml
Input file SSDT-9x.aml, Length 0xA92 (2706) bytes
ACPI: SSDT 0x0000000000000000 000A92 (v01 PmRef  CpuPm    00003000 INTL 20051117)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file       SSDT-8.aml
Input file SSDT-8.aml, Length 0xA92 (2706) bytes
ACPI: SSDT 0x0000000000000000 000A92 (v01 PmRef  CpuPm    00003000 INTL 20051117)
Pass 1 parse of [SSDT]
ACPI Error: [SSDT] Namespace lookup failure, AE_ALREADY_EXISTS (20160422/dswload-462)
ACPI Exception: AE_ALREADY_EXISTS, During name lookup/catalog (20160422/psobject-310)
Could not parse external ACPI tables, AE_ALREADY_EXISTS
Gians-MBP:Documents giandefreitas$

I don't know what this means, and I'm not sure if I should proceed. (I'm guessing it didn't work since I have no .dsl file anywhere

Also how do I know which SSDT's I need and how do I figure out what they do and if they need to be patched or not?

Duplicate SSDTs are covered in the guide in post #1. Read carefully.
 
Duplicate SSDTs are covered in the guide in post #1. Read carefully.

Got it, but how do I filter them...How would I know which file does what? All I can do is open them in MaciASL and it's a ton of code that doesn't say much to me, is there something specific I should be looking for?

For older computers (Sandy Bridge and prior), the SSDTs related to CPU can cause problems. If this is the case (you already had to use the alternate DropTables, or DropOem=true, or DropSSDT=Yes), then you should not include such SSDTs in ACPI/patched.

this is the case for me as well
 
Got it, but how do I filter them...How would I know which file does what? All I can do is open them in MaciASL and it's a ton of code that doesn't say much to me, is there something specific I should be looking for?

What are you trying to accomplish?
Most patches are applied to DSDT as that's where most of the relevant code is.
There are exceptions as noted in post #1.
 
What are you trying to accomplish?
Most patches are applied to DSDT as that's where most of the relevant code is.
There are exceptions as noted in post #1.

"I like to include all SSDTs, in their original order, patched appropriately, unless they are known to cause a problem."

I though this meant I had to patch each individual SSDT file.
 
"I like to include all SSDTs, in their original order, patched appropriately, unless they are known to cause a problem."

I though this meant I had to patch each individual SSDT file.

The meaning of "patched appropriately" is described in post #1.
 
It is typical. And off-topic.
I'm using DTrace tools and I get A LOT of calls from AppleACPIPlatform, some say there is a problem with AHCI/SATA that is the guilty of the high CPU usage.
You told me to delete "Drop tables" but you mean the "CpuPm" and "Cpu0Ist" or you mean "Drop OEM Tables"?
I think if I don't drop OEM tables the system doesn't even boot.
 
I'm using DTrace tools and I get A LOT of calls from AppleACPIPlatform, some say there is a problem with AHCI/SATA that is the guilty of the high CPU usage.
You told me to delete "Drop tables" but you mean the "CpuPm" and "Cpu0Ist" or you mean "Drop OEM Tables"?
I think if I don't drop OEM tables the system doesn't even boot.

No such thing as "Drop tables" or "Drop OEM Tables".

There is config.plist/ACPI/DropTables and config.plist/ACPI/DropOem

DropTables allows you do drop individual tables (by signature, size, tag, etc).
DropOem allows you to drop all tables with signature SSDT.

If you have patched SSDTs in ACPI/patched, you must use DropOem=true. Otherwise the order of SSDTs is changed and since some SSDTs have order dependencies, changing the order is a bad idea.
 
No such thing as "Drop tables" or "Drop OEM Tables".

There is config.plist/ACPI/DropTables and config.plist/ACPI/DropOem

DropTables allows you do drop individual tables (by signature, size, tag, etc).
DropOem allows you to drop all tables with signature SSDT.

If you have patched SSDTs in ACPI/patched, you must use DropOem=true. Otherwise the order of SSDTs is changed and since some SSDTs have order dependencies, changing the order is a bad idea.
I have patched SSDTs on ACPI/patched, but I think booting without DropOem doesn't work.

I think that I miss something on my DSDT that causes all that ACPI calls...
 
I have patched SSDTs on ACPI/patched, but I think booting without DropOem doesn't work.

You shouldn't expect it to. With patched SSDTs in ACPI/patched, DropOem=true is a requirement.
 
Back
Top