Contribute
Register

[Guide] Patching LAPTOP DSDT/SSDTs

Ya, I know that. Here is my ACPI file. I have used the all patches you showed in Common Patches, but in Filtering ACPI files, I really don't know which SSDTs should be dropped. Also, which x.aml files do I need to place in patch and set them in sorted order?

If you have some issue with patched ACPI, describe the problem clearly.
And provide all files requested in the ACPI patching guide, post #1, "Problem Reporting".
 
Thanks for the great guide! I am stuck on the decompilation step ... either from Linux or from F4 methods I got a bunch of .aml files - had to get rid of a few like hpet.aml that iasl was saying was not a valid AML file, but still iasl is crashing. Any suggestions (I tried also -Rd same result)? Thanks!

% iasl -da -dl *.aml
Input file apic.aml, Length 0xBC (188) bytes
ACPI: APIC 0x0000000000000000 0000BC (v03 ALASKA A M I 01072009 AMI 00010013)
Input file ssdt-9x.aml, Length 0x119 (281) bytes
ACPI: SSDT 0x0000000000000000 000119 (v02 PmRef ApCst 00003000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-8x.aml, Length 0x37F (895) bytes
ACPI: SSDT 0x0000000000000000 00037F (v02 PmRef Cpu0Cst 00003001 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-7x.aml, Length 0x5AA (1450) bytes
ACPI: SSDT 0x0000000000000000 0005AA (v02 PmRef ApIst 00003000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-6x.aml, Length 0x7AA (1962) bytes
ACPI: SSDT 0x0000000000000000 0007AA (v02 PmRef Cpu0Ist 00003000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-5.aml, Length 0xE58 (3672) bytes
ACPI: SSDT 0x0000000000000000 000E58 (v02 CpuRef CpuSsdt 00003000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-4.aml, Length 0x160D (5645) bytes
ACPI: SSDT 0x0000000000000000 00160D (v02 SaSsdt SaSsdt 00003000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-3.aml, Length 0x24 (36) bytes
ACPI: SSDT 0x0000000000000000 000024 (v02 INTEL OEM_RTD3 00001000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-2.aml, Length 0x1100 (4352) bytes
ACPI: SSDT 0x0000000000000000 001100 (v01 INTEL PtidDevc 00001000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-13.aml, Length 0x778 (1912) bytes
ACPI: SSDT 0x0000000000000000 000778 (v02 Intel PerfTune 00001000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-12x.aml, Length 0x130 (304) bytes
ACPI: SSDT 0x0000000000000000 000130 (v02 PmRef HwpLvt 00003000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-11x.aml, Length 0x119 (281) bytes
ACPI: SSDT 0x0000000000000000 000119 (v02 PmRef ApHwp 00003000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-10x.aml, Length 0x8E (142) bytes
ACPI: SSDT 0x0000000000000000 00008E (v02 PmRef Cpu0Hwp 00003000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-1.aml, Length 0x36A3 (13987) bytes
ACPI: SSDT 0x0000000000000000 0036A3 (v01 NvdRef NvdTabl 00001000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-0.aml, Length 0x36D (877) bytes
ACPI: SSDT 0x0000000000000000 00036D (v01 SataRe SataTabl 00001000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file dsdt.aml, Length 0x1AF10 (110352) bytes
ACPI: DSDT 0x0000000000000000 01AF10 (v02 ALASKA A M I 01072009 INTL 20120913)
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Acpi Data Table [APIC] decoded
Formatted output: apic.dsl - 8722 bytes
iasl(1469) malloc: *** error for object 0x7f98c241f510: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug

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

External object resolution file ssdt-9x.aml
External object resolution file ssdt-8x.aml
External object resolution file ssdt-7x.aml
External object resolution file ssdt-6x.aml
External object resolution file ssdt-5.aml
External object resolution file ssdt-4.aml
External object resolution file ssdt-3.aml
External object resolution file ssdt-2.aml
External object resolution file ssdt-13.aml
External object resolution file ssdt-12x.aml
External object resolution file ssdt-11x.aml
External object resolution file ssdt-10x.aml
External object resolution file ssdt-1.aml
External object resolution file ssdt-0.aml
External object resolution file dsdt.aml
 
Thanks for the great guide! I am stuck on the decompilation step ... either from Linux or from F4 methods I got a bunch of .aml files - had to get rid of a few like hpet.aml that iasl was saying was not a valid AML file, but still iasl is crashing. Any suggestions (I tried also -Rd same result)? Thanks!

% iasl -da -dl *.aml
Input file apic.aml, Length 0xBC (188) bytes
ACPI: APIC 0x0000000000000000 0000BC (v03 ALASKA A M I 01072009 AMI 00010013)
Input file ssdt-9x.aml, Length 0x119 (281) bytes
ACPI: SSDT 0x0000000000000000 000119 (v02 PmRef ApCst 00003000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-8x.aml, Length 0x37F (895) bytes
ACPI: SSDT 0x0000000000000000 00037F (v02 PmRef Cpu0Cst 00003001 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-7x.aml, Length 0x5AA (1450) bytes
ACPI: SSDT 0x0000000000000000 0005AA (v02 PmRef ApIst 00003000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-6x.aml, Length 0x7AA (1962) bytes
ACPI: SSDT 0x0000000000000000 0007AA (v02 PmRef Cpu0Ist 00003000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-5.aml, Length 0xE58 (3672) bytes
ACPI: SSDT 0x0000000000000000 000E58 (v02 CpuRef CpuSsdt 00003000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-4.aml, Length 0x160D (5645) bytes
ACPI: SSDT 0x0000000000000000 00160D (v02 SaSsdt SaSsdt 00003000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-3.aml, Length 0x24 (36) bytes
ACPI: SSDT 0x0000000000000000 000024 (v02 INTEL OEM_RTD3 00001000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-2.aml, Length 0x1100 (4352) bytes
ACPI: SSDT 0x0000000000000000 001100 (v01 INTEL PtidDevc 00001000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-13.aml, Length 0x778 (1912) bytes
ACPI: SSDT 0x0000000000000000 000778 (v02 Intel PerfTune 00001000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-12x.aml, Length 0x130 (304) bytes
ACPI: SSDT 0x0000000000000000 000130 (v02 PmRef HwpLvt 00003000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-11x.aml, Length 0x119 (281) bytes
ACPI: SSDT 0x0000000000000000 000119 (v02 PmRef ApHwp 00003000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-10x.aml, Length 0x8E (142) bytes
ACPI: SSDT 0x0000000000000000 00008E (v02 PmRef Cpu0Hwp 00003000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-1.aml, Length 0x36A3 (13987) bytes
ACPI: SSDT 0x0000000000000000 0036A3 (v01 NvdRef NvdTabl 00001000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file ssdt-0.aml, Length 0x36D (877) bytes
ACPI: SSDT 0x0000000000000000 00036D (v01 SataRe SataTabl 00001000 INTL 20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Input file dsdt.aml, Length 0x1AF10 (110352) bytes
ACPI: DSDT 0x0000000000000000 01AF10 (v02 ALASKA A M I 01072009 INTL 20120913)
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Acpi Data Table [APIC] decoded
Formatted output: apic.dsl - 8722 bytes
iasl(1469) malloc: *** error for object 0x7f98c241f510: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug

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

External object resolution file ssdt-9x.aml
External object resolution file ssdt-8x.aml
External object resolution file ssdt-7x.aml
External object resolution file ssdt-6x.aml
External object resolution file ssdt-5.aml
External object resolution file ssdt-4.aml
External object resolution file ssdt-3.aml
External object resolution file ssdt-2.aml
External object resolution file ssdt-13.aml
External object resolution file ssdt-12x.aml
External object resolution file ssdt-11x.aml
External object resolution file ssdt-10x.aml
External object resolution file ssdt-1.aml
External object resolution file ssdt-0.aml
External object resolution file dsdt.aml

You need to attach your files.

Thanks for the great guide! I am stuck on the decompilation step ... either from Linux or from F4 methods I got a bunch of .aml files - had to get rid of a few like hpet.aml that iasl was saying was not a valid AML file, but still iasl is crashing. Any suggestions (I tried also -Rd same result)? Thanks!

% iasl -da -dl *.aml
Input file apic.aml, Length 0xBC (188) bytes

Why are you trying to disassemble apic.aml?
The guide is very clear on disassembly of only files that start with DSDT or SSDT.
 
You need to attach your files.



Why are you trying to disassemble apic.aml?
The guide is very clear on disassembly of only files that start with DSDT or SSDT.

My bad!!!! Sorry about the former silly question, I misread that part of the guide :(...
Now I think it decompiled properly ... I included in the .zip all my files in three directories:
efi_f4 => stuff I got hitting f4 on clover boot
efi_clover_acpi_patched => stuff I already have patched from toleda and pike's script for hda and power
linux => stuff I got from linux

not sure if this belongs here ...

My laptop is a Eurocom sky_x4:
i7 6700k @4GHZ running Sierra 10.12.2
64 GB Memory - properly detected
Nvidia 970m 3840x2160 -
seems to be working - no gsync? not sure what it means
need darkwake=0 else nothing shows after wake and it crashes a few minutes after wake

Intel HDA (series 100) audio -
output ok, but it swaps the internal microphone with external mic-in jack (layout issue?)
I get an assertion when wakes up

Atheros E2400 ethernet - works fine
Bison Camera NB pro - works fine
BCM94532z wifi/bluetooth - works fine (supposedly with handoff)
512GB Samsung SSD 950 Pro - works fine
2 x HGST7210 SATA 1TB - works fine

Primary goals:
fix sleep - log snapshot from powerd
seems taht IODisplayWrangler prevents the Kernel Idle Sleep and then it immediately wakes up
"Wake from Normal Sleep [CDNVA] due to GLAN XCDI/:"


swap the microphone and external jack
fix assertion for HDA audio on wake

would be nice:
have a battery status indicator :)

Thanks for any suggestions!!



x.png
 

Attachments

  • sky_ssdt.zip
    293.8 KB · Views: 111
My bad!!!! Sorry about the former silly question, I misread that part of the guide :(...
Now I think it decompiled properly ... I included in the .zip all my files in three directories:
efi_f4 => stuff I got hitting f4 on clover boot
efi_clover_acpi_patched => stuff I already have patched from toleda and pike's script for hda and power
linux => stuff I got from linux

not sure if this belongs here ...

My laptop is a Eurocom sky_x4:
i7 6700k @4GHZ running Sierra 10.12.2
64 GB Memory - properly detected
Nvidia 970m 3840x2160 -
seems to be working - no gsync? not sure what it means
need darkwake=0 else nothing shows after wake and it crashes a few minutes after wake

Intel HDA (series 100) audio -
output ok, but it swaps the internal microphone with external mic-in jack (layout issue?)
I get an assertion when wakes up

Atheros E2400 ethernet - works fine
Bison Camera NB pro - works fine
BCM94532z wifi/bluetooth - works fine (supposedly with handoff)
512GB Samsung SSD 950 Pro - works fine
2 x HGST7210 SATA 1TB - works fine

Primary goals:
fix sleep - log snapshot from powerd
seems taht IODisplayWrangler prevents the Kernel Idle Sleep and then it immediately wakes up
"Wake from Normal Sleep [CDNVA] due to GLAN XCDI/:"


swap the microphone and external jack
fix assertion for HDA audio on wake

would be nice:
have a battery status indicator :)

Thanks for any suggestions!!



View attachment 234321

I see no specific question.
Read post #1.
 
Screen Shot 2017-02-03 at 11.39.39 PM.png
I'm trying to compile my DSDT.dsl and getting these two syntax errors. Any idea how to fix? Attached an image of the code at those specific lines. DSDT is vanilla, no patches applied.
 

Attachments

  • Screen Shot 2017-02-03 at 11.39.56 PM.png
    Screen Shot 2017-02-03 at 11.39.56 PM.png
    113 KB · Views: 89
Last edited:
View attachment 234443
I'm trying to compile my DSDT.dsl and getting these two syntax errors. Any idea how to fix? Attached an image of the code at those specific lines. DSDT is vanilla, no patches applied.

Attach all native DSDT+SSDTs as extracted from Clover (ACPI/origin). Use ZIP.
 
attached, appreciate the help.

Easy fix... since you know HDSE is not defined anywhere, you also know that CondRefOf will return false, which then allows you to simply remove the related code.

From:
Code:
                Method (GOPS, 1, NotSerialized)
                {
                    Store (Zero, CDSP)
                    If (CondRefOf (HDSE))
                    {
                        Store (HDSE)
                        CDSP
                    }
                    Else
                    {
                        GETD ()
                    }

                    Return (CDSP)
                }

                Method (SOPS, 1, NotSerialized)
                {
                    If (CondRefOf (HDSE))
                    {
                        HDSE
                        Arg0
                    }
                    Else
                    {
                        SETD (Arg0)
                    }

                    Return (Zero)
                }

To:
Code:
                Method (GOPS, 1, NotSerialized)
                {
                    Store (Zero, CDSP)

                        GETD ()

                    Return (CDSP)
                }

                Method (SOPS, 1, NotSerialized)
                {
                        SETD (Arg0)

                    Return (Zero)
                }
 
Note regarding Clover v3062+: A change in the way SSDTs are loaded from ACPI/patched makes the order non-deterministic. You should specify the order explicitly with config.plist/ACPI/SortedOrder. The SortedOrder option is implemented in Clover v3088+. The config.plist files linked from my Clover guide have a good default for SortedOrder: http://www.tonymacx86.com/yosemite-...de-booting-os-x-installer-laptops-clover.html

Hello RehabMan!

For use SortedOrder it's just necessary if I have most of 1 SSDT right?
E.g: I just have 1 SSDT in ACPI/patched (for power management), so it's not necessary use SortedOrder > SSDT.aml
Right?

Thanks
 
Back
Top