Contribute
Register

[Guide] Patching LAPTOP DSDT/SSDTs

It works now - thanks! I guess I edited DSDT.dsl without other files in the folder last time. Otherwise I did it exactly the same.

It doesn't matter what files are in the folder when editing... It only matters that you disassemble them as a group...
 
hello all

some help please

i have extrat dsdt on clover.
copy all *.aml but wen send this command
iasl -da -dl *.aml

no *-dls are created
 
hello all

some help please

i have extrat dsdt on clover.
copy all *.aml but wen send this command
iasl -da -dl *.aml

no *-dls are created

.dls not expected. iasl will disassemble to *.dsl.
 
sorry i mean dsl

but if i send the command just for dsdt.aml he works.

i send the command and i am working on the .dsl

if i compile with acpi 4.0 give me 201 error, with acpi 6.1 only warnings.

another think is that i put your
dont show the patch and if i try to open on chrome give me error invalid request

thanks for helping me
 
sorry i mean dsl

but if i send the command just for dsdt.aml he works.

i send the command and i am working on the .dsl

if i compile with acpi 4.0 give me 201 error, with acpi 6.1 only warnings.

another think is that i put your
dont show the patch and if i try to open on chrome give me error invalid request

thanks for helping me

Use ACPI 6.1 as per guide.
 
hi again

another question if you can help me. sorry its my 1st hackintosh.

on the folder origin i have another files like acpi.aml and 10 ssdt*.aml

i use only DSDT.AML or the other files ar needed?

how can i know what patch i need to apply on my dsdt.aml?

best regards
 
hi again

another question if you can help me. sorry its my 1st hackintosh.

on the folder origin i have another files like acpi.aml and 10 ssdt*.aml

i use only DSDT.AML or the other files ar needed?

how can i know what patch i need to apply on my dsdt.aml?

best regards

Read post #1. It is very clear about which files you should use...
 
Hello,
I am working in battery status.
But I found in my DSDT.aml
PMCD, 32
=> I replace it by
MCD0, 8,
MCD1, 8,
MCD2, 8,
MCD3, 8,
Store (\_SB.PCI0.LPCB.EC0.PMCD, S0PW)
=> I replace it by
Store (\_SB.PCI0.LPCB.EC0.B1B4(MCD0,MCD1,MCD2,MCD3), S0PW)

Compile again and the errors go up 4 :(.
Please help me to show what the pattern to replace for this case.
 
Hello,
I am working in battery status.
But I found in my DSDT.aml
PMCD, 32
=> I replace it by
MCD0, 8,
MCD1, 8,
MCD2, 8,
MCD3, 8,
Store (\_SB.PCI0.LPCB.EC0.PMCD, S0PW)
=> I replace it by
Store (\_SB.PCI0.LPCB.EC0.B1B4(MCD0,MCD1,MCD2,MCD3), S0PW)

Compile again and the errors go up 4 :(.
Please help me to show what the pattern to replace for this case.

Your mistake is obvious in this case...

Should be:
Store (B1B4(\_SB.PCI0.LPCB.EC0.MCD0,\_SB.PCI0.LPCB.EC0.MCD1,\_SB.PCI0.LPCB.EC0.MCD2,\_SB.PCI0.LPCB.EC0.MCD3), S0PW)
 
Hi @RehabMan , long time no see :)
Just dump ioreg from a new MacBook. Found something interesting in PNP0C01 for Haswell/Broadwell graphics:
OS X requires MEM2 instead of TPMX in DSDT. Without patching TPMX in DSDT, PNP0C01 will not be loaded correctly. And so does the IOAccelMemoryInfoUserClient. So, here's the patch I made:
Code:
#Credit syscl @ github.com/syscl: iGPU use MEM2 instead of TPMX, and r/w memory instead of r/o memory.
#syscl_iGPU_MEM2.txt

into device label TPMX remove_entry;
into device label PCI0 insert
begin
Device (MEM2) // iGPU use MEM2 instead of TPMX, and RW memory. syscl\n
{\n
    Name (_HID, EisaId ("PNP0C01"))\n
    Name (_UID, 0x02)\n
    Name (_STA, 0x0F)\n
    Name (_CRS, ResourceTemplate ()\n
    {\n
        Memory32Fixed (ReadWrite, 0x20000000, 0x00200000, )\n
        Memory32Fixed (ReadWrite, 0x40000000, 0x00200000, )\n
    })\n
}\n
end;

After applying the MEM2 patch, the PNP0C01 on various laptops will be loaded correctly by OS X, here's the screenshot of the change:
MEM not loaded.png

MEM2 loaded.png

Can you upload this patch in your git(so popular) so that more people will benefit from it.
Best wishes,
syscl.
 
Last edited:
Back
Top