Contribute
Register

[Guide] Patching LAPTOP DSDT/SSDTs

No idea what you're asking.
Please ask questions that are detailed and clear.

Sorry for my English
I am installing OSX Mac for dell laptop which have no internet I want to edit dsdt/ssdt (which created on clover Pressing F4). So can I copy all dsdt/ssdt files to pendrive then copy to another working OSX Mac system and edit/Patch that file ??
 
Sorry for my English
I am installing OSX Mac for dell laptop which have no internet I want to edit dsdt/ssdt (which created on clover Pressing F4). So can I copy all dsdt/ssdt files to pendrive then copy to another working OSX Mac system and edit/Patch that file ??

You can patch the files on another PC (copy ACPI/origin somewhere, work on them), then copy them to the target machine when done (ACPI/patched).
 
I try to patch DSDT to replace GFX0 to IGPU.

But I still have two errors with acpi 6.1:

Method (ADBG, 1, Serialized)
{
If (CondRefOf (MDBG))
{
Return (MDBG)
Arg0
}

Return (Zero)
}

compiler return syntax error unexpected "}"

I try to patch it with :

Method (ADBG, 1, Serialized)
{
If (CondRefOf (MDBG))
{
Store (Arg0, MDBG)
Return
}
Return (Zero)
}

But don't work.

And last line of code cause compile error :

unexpected $end and premature End-Of-File

Here is my DSDT.dsl

Thank you for your help.
 

Attachments

  • System DSDT.zip
    51.8 KB · Views: 68
I try to patch DSDT to replace GFX0 to IGPU.

But I still have two errors with acpi 6.1:

Method (ADBG, 1, Serialized)
{
If (CondRefOf (MDBG))
{
Return (MDBG)
Arg0
}

Return (Zero)
}

compiler return syntax error unexpected "}"

I try to patch it with :

Method (ADBG, 1, Serialized)
{
If (CondRefOf (MDBG))
{
Store (Arg0, MDBG)
Return
}
Return (Zero)
}

But don't work.

And last line of code have compile error :

unexpected $end and premature End-Of-File

Here is my DSDT.dsl

Thank you for your help.

Read post #1.
Disassemble with refs.txt as per guide.
 
Read post #1.
Disassemble with refs.txt as per guide.

I did that with :

External(MDBG, MethodObj, 1)
External(_GPE.MMTB, MethodObj, 0)
External(_SB.PCI0.LPCB.H_EC.ECWT, MethodObj, 2)
External(_SB.PCI0.LPCB.H_EC.ECRD, MethodObj, 1)
External(_SB.PCI0.LPCB.H_EC.ECMD, MethodObj, 1)
External(_SB.PCI0.PEG0.PEGP.SGPO, MethodObj, 2)
External(_SB.PCI0.GFX0.DD02._BCM, MethodObj, 1)
External(_SB.PCI0.SAT0.SDSM, MethodObj, 4)
External(_GPE.VHOV, MethodObj, 3)
External(_SB.PCI0.XHC.RHUB.TPLD, MethodObj, 2)

in my refs.txt

Should I add something in refs.txt and retry disassembly ?

Thank you
 
I did that with :

External(MDBG, MethodObj, 1)
External(_GPE.MMTB, MethodObj, 0)
External(_SB.PCI0.LPCB.H_EC.ECWT, MethodObj, 2)
External(_SB.PCI0.LPCB.H_EC.ECRD, MethodObj, 1)
External(_SB.PCI0.LPCB.H_EC.ECMD, MethodObj, 1)
External(_SB.PCI0.PEG0.PEGP.SGPO, MethodObj, 2)
External(_SB.PCI0.GFX0.DD02._BCM, MethodObj, 1)
External(_SB.PCI0.SAT0.SDSM, MethodObj, 4)
External(_GPE.VHOV, MethodObj, 3)
External(_SB.PCI0.XHC.RHUB.TPLD, MethodObj, 2)

in my refs.txt

Should I add something in refs.txt and retry disassembly ?

Thank you

If you had used a correct refs.txt, you would not be having the error you have.
Make sure you created refs.txt properly.
 
Off-topic.
Desktop questions are off-topic in the laptop forums.

I posted here because I was led here in my search for answers. The first thing I tried was to install the NullCPUPowerManagement.kext to /Library/Extensions on the USB drive, but that didn't seem to make a difference. I wound up here by searching for the error I get (no HPETs available... CPU(s) configured incorrectly).

If you could please point me to the most appropriate forum, I'd appreciate it.
 
I posted here because I was led here in my search for answers. The first thing I tried was to install the NullCPUPowerManagement.kext to /Library/Extensions on the USB drive, but that didn't seem to make a difference. I wound up here by searching for the error I get (no HPETs available... CPU(s) configured incorrectly).

If you could please point me to the most appropriate forum, I'd appreciate it.

There is an HPET fixing option available in Clover (in config.plist/ACPI/DSDT/Fixes).
Read Clover documentation for details.
It may or may not work (refer to Clover source code to see what it does).

Or modify the "HPET Fix" patch to better suit your DSDT code.

Your problem is likely to do with the HPET._STA method:
Code:
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (HPVI, 0xFFFFFFFF))
                {
                    Return (0x00)
                }
                Else
                {
                    Return (0x0B)
                }
            }

If _STA returns 0, it is bad news.
So, maybe HPVI is 0xFFFFFFFF, which would cause _STA to return 0.

You can recode _STA to return 0x0b:
Code:
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                 Return(0x0b)
            }

Or even:
Code:
             Name(_STA, 0x0b)

Or even just removing _STA will cause it to default to 0xF (very similar to 0xB).

You can read the ACPI spec for details and more info.
 
Your problem is likely to do with the HPET._STA method:

Much appreciated.

First, I tried the HPET fix set to true in EFI/CLOVER/config.plist, and got the same panic.

Second, I obtained with Clover F4 EFI/CLOVER/ACPI/origin/DSDT.aml, converted with iasl as advised, and then loaded it into MaciASL, and changed the HPET._STA method to look like this:

Code:
Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                 Return(0x0b)
            }

then hit compile, got no errors, so saved as binary to EFI/CLOVER/ACPI/patched/DSDT.aml and tried again, and it looks like I got something slightly different. I got the 'unauthorized' sign, and garbled text, and it is polling (presumably for a debugger to attach?) every minute or so. (EDIT: just realized it likely says 'still waiting for root device')

FYI, I am using 'dart=0 nv_disable=1 cpus=1 debug=0x100 -v npci=0x3000'. Without the npci flag I get hung on [ PCI configuration begin ].

Am I doing something noobish here? I am going to try another USB port as described in the big list of solutions.
 
Back
Top