Jump to content

DSDT editor and patcher


oldnapalm
 Share

1,000 posts in this topic

Recommended Posts

Noticed a bug with the combination of code_regex and code_regex_not.

Here is the patch:

into_all all code_regex XHC code_regex_not XHC[a-zA-Z0-9] replaceall_matched begin XHC1 end

 

and the shortened result:

 

// into_all all code_regex XHC code_regex_not XHC[a-zA-Z0-9] replaceall_matched
...

Notify (\_SB.PCI0.XHC, 0x02)
If (LAnd (\_SB.PCI0.XHC.PMES, \_SB.PCI0.XHC.PMES))
{
 Store (One, \_SB.PCI0.XHC.PMES)
}

 

XHC was not replaced.

Maybe a problem with the regex match length mismatch?

Link to comment
Share on other sites

  • 1 month later...
  • 4 weeks later...
  • 4 months later...

I have a HP a6040n Desktop (Asus MB) with a DSDT that was patched back in 2011.  Everything works except shutdown.  The fans still turn on the CPU.

 

I am lost because this was patched by Mald0n some time ago but the shutdown patch for Asus MB's does not seem to be in place?  When I try to patch with DSDTeditor with the asus shutdown patch it does not seem to change anything?  

 

I have tried  this patch on a vanilla DSDT and it does not seem to modify it as well?

 

I have attached the vanilla DSDT along with the portion of the script that dsdteditor does not seem to patch?

    Method (\_PTS, 1, NotSerialized)
    {
        Or (Arg0, 0xF0, Local0)
        Store (Local0, DBG1)
        Store (0x01, PM29)
        If (LNotEqual (VID0, 0xFFFF))
        {
            If (LEqual (And (RSR0, 0x01), 0x01))
            {
                Or (RSR0, 0x01, RSR0)
                Or (PMC0, 0x80, PMC0)
            }
        }
        If (LNotEqual (VID1, 0xFFFF))
        {
            If (LEqual (And (RSR1, 0x01), 0x01))
            {
                Or (RSR1, 0x01, RSR1)
                Or (PMC1, 0x80, PMC1)
            }
        }

EDITED:

 

I left a thread over at olarila and within a few hours had the fix unreal!!  Just not really sure how the code works?

 

 

Before Edit:

 OSTP ()
        If (LEqual (Arg0, One)) {}
        If (LEqual (Arg0, 0x03)) {}
        If (LEqual (Arg0, 0x05))
        {
            Store (ESMI, Local0)
            And (Local0, 0xFB, Local0)
            Store (Local0, ESMI)
        }

After Edit:

 OSTP ()
        If (LEqual (Arg0, One)) {}
        If (LEqual (Arg0, 0x03)) {}
        If (LEqual (Arg0, 0x05))
        {
            Store (Zero, TRAP)
            Sleep (0x10)
        }

DSDT_VANILLA_a6040n_Asus_mb.aml.zip

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

I need a diff patch from two DSDT.dsl files (attached) so I can use it with DSDT editor and patcher.

 

Only difference: one is patched with a (proven working) Nvidia GeForce graphics patch. I need a diff patch so I can apply the grfx dsdt patch to another dsdt of almost the same Laptop, also w/ that same GeForce Go. The grfx patched DSDT from the other Laptop works on Laptop 2, so I KNOW the patch in the DSDT works!

 

How now do I create the diff patch Nvidia GeForce Go 7600.txt?

 

Thank you

 

PS: I created a diff patch with Chameleon Wizard and applied it to my DSDT. Result: no change = bad

DSDT Sound only.dsl.zip

DSDT Sound+Graphic.dsl.zip

Link to comment
Share on other sites

I need a diff patch from two DSDT.dsl files (attached) so I can use it with DSDT editor and patcher.

 

Only difference: one is patched with a (proven working) Nvidia GeForce graphics patch. I need a diff patch so I can apply the grfx dsdt patch to another dsdt of almost the same Laptop, also w/ that same GeForce Go. The grfx patched DSDT from the other Laptop works on Laptop 2, so I KNOW the patch in the DSDT works!

 

How now do I create the diff patch Nvidia GeForce Go 7600.txt?

 

Thank you

 

PS: I created a diff patch with Chameleon Wizard and applied it to my DSDT. Result: no change = bad

In my case using an 8800GT 512 card, I had to rip out ALL of my graphics section and replace it with the stock entry that was there before I edited my DSDT.  Then and only then could Chameleon see my card and automatically recognize it as it should using GraphicsEnabler=Yes.  No other enablers were needed then.

Link to comment
Share on other sites

Usually such kind of information is being made together with Graphic Injection.

http://www.insanelymac.com/forum/topic/275397-dsdt-patching-queries-screen-resolutionsleep-prob-others/?p=1792180

With GraphicsEnabler=No. Everything by DSDT. But GraphicsEnabler=Yes can embarrass DSDT Inject of EDID,(I don't know it exactly).

Or where it should be written down at DSDT to be made it working together with that key.

So I think for your, two possible variants are. Inject EDID by kext or to try Clover on USB Stick, for example.

Get working Graphics, and after you can inject all of that by DSDT if u want to.

Link to comment
Share on other sites

  • 10 months later...

 Please can any one help me to add this value to my dsdt. I have tried many times without success. I found this value for my CPU Q6600 with PStateChanger.

Scope (_PR)
    {
        Processor (CPU1, 0x01, 0x00000410, 0x06)
        {
            Name (_CST, Package (0x04)
            {
                0x02,
                Package (0x04)
                {
                    ResourceTemplate ()
                    {
                        Register (FFixedHW,
                            0x00,             // Bit Width
                            0x00,             // Bit Offset
                            0x0000000000000000, // Address
                            ,)
                    },

                    One,
                    0x14,
                    0x03E8
                },

                Package (0x04)
                {
                    ResourceTemplate ()
                    {
                        Register (SystemIO,
                            0x08,             // Bit Width
                            0x00,             // Bit Offset
                            0x0000000000000414, // Address
                            ,)
                    },

                    0x02,
                    0x28,
                    0x02EE
                },

                Package (0x04)
                {
                    ResourceTemplate ()
                    {
                        Register (SystemIO,
                            0x08,             // Bit Width
                            0x00,             // Bit Offset
                            0x0000000000000415, // Address
                            ,)
                    },

                    0x03,
                    0x3C,
                    0x01F4
                }
            })
            Name (_PCT, Package (0x02)
            {
                ResourceTemplate ()
                {
                    Register (FFixedHW,
                        0x00,             // Bit Width
                        0x00,             // Bit Offset
                        0x0000000000000000, // Address
                        ,)
                },

                ResourceTemplate ()
                {
                    Register (FFixedHW,
                        0x00,             // Bit Width
                        0x00,             // Bit Offset
                        0x0000000000000000, // Address
                        ,)
                }
            })
            Name (_PSS, Package (0x05)
            {
                Package (0x06)
                {
                    0x0A6B,
                    0x00015BA8,
                    0xA0,
                    0x0A,
                    0x0A27,
                    0x0A27
                },

                Package (0x06)
                {
                    0x0960,
                    0x00013498,
                    0xA0,
                    0x0A,
                    0x0924,
                    0x0924
                },

                Package (0x06)
                {
                    0x0855,
                    0x00011558,
                    0xA0,
                    0x0A,
                    0x0821,
                    0x0821
                },

                Package (0x06)
                {
                    0x074B,
                    0xF618,
                    0xA0,
                    0x0A,
                    0x071E,
                    0x071E
                },

                Package (0x06)
                {
                    0x0640,
                    0xD6D8,
                    0xA0,
                    0x0A,
                    0x061B,
                    0x061B
                }
            })
            Method (_PPC, 0, NotSerialized)
            {
                Return (Zero)
            }
        }

dsdt.dsl.zip

post-648712-0-43110100-1404609473_thumb.png

Link to comment
Share on other sites

 

Try this,

 Scope (_PR.CPU0)
    {
        Method (_PSS, 0, NotSerialized)
        {
            Return (Package (0x04)
            {
                Package (0x06)
                {
                    0x0BB5, 
                    Zero, 
                    0x0A, 
                    0x0A, 
                    0x0929, 
                    Zero
                }, 

                Package (0x06)
                {
                    0x0A68, 
                    Zero, 
                    0x0A, 
                    0x0A, 
                    0x0929, 
                    One
                }, 

                Package (0x06)
                {
                    0x091B, 
                    Zero, 
                    0x0A, 
                    0x0A, 
                    0x0929, 
                    0x02
                }, 

                Package (0x06)
                {
                    0x07CE, 
                    Zero, 
                    0x0A, 
                    0x0A, 
                    0x0929, 
                    0x03
                }
            })
        }

        Method (_PSD, 0, NotSerialized)
        {
            Return (Package (0x05)
            {
                0x05, 
                Zero, 
                Zero, 
                0xFC, 
                0x02
            })
        }

        Method (_CST, 0, NotSerialized)
        {
            Return (Package (0x04)
            {
                0x03, 
                Package (0x04)
                {
                    ResourceTemplate ()
                    {
                        Register (FFixedHW, 
                            0x01,               // Bit Width
                            0x02,               // Bit Offset
                            0x0000000000000000, // Address
                            ,)
                    }, 

                    One, 
                    One, 
                    0x03E8
                }, 

                Package (0x04)
                {
                    ResourceTemplate ()
                    {
                        Register (SystemIO, 
                            0x08,               // Bit Width
                            0x00,               // Bit Offset
                            0x0000000000000414, // Address
                            ,)
                    }, 

                    0x02, 
                    One, 
                    0x01F4
                }, 

                Package (0x04)
                {
                    ResourceTemplate ()
                    {
                        Register (SystemIO, 
                            0x08,               // Bit Width
                            0x00,               // Bit Offset
                            0x0000000000000415, // Address
                            ,)
                    }, 

                    0x03, 
                    One, 
                    0xFA
                }
            })
        }
    }

    Scope (_PR.CPU1)
    {
        Alias (^CPU0._PSS, _PSS)
        Alias (^CPU0._PSD, _PSD)
        Alias (^CPU0._CST, _CST)
    }

    Scope (_PR.CPU2)
    {
        Alias (^CPU0._PSS, _PSS)
        Alias (^CPU0._PSD, _PSD)
        Alias (^CPU0._CST, _CST)
    }

    Scope (_PR.CPU3)
    {
        Alias (^CPU0._PSS, _PSS)
        Alias (^CPU0._PSD, _PSD)
        Alias (^CPU0._CST, _CST)
    }

Place it under

Scope (_PR)
    {
        Processor (CPU0, 0x00, 0x00000410, 0x06) {}
        Processor (CPU1, 0x01, 0x00000410, 0x06) {}
        Processor (CPU2, 0x00, 0x00000410, 0x06) {}
        Processor (CPU3, 0x00, 0x00000410, 0x06) {}
    }

Please can you help me to fix my dsdt because i try many time without success.

Thanks

Link to comment
Share on other sites

  • 1 month later...
  • 5 months later...

Hi guys, i want to start DSDT editor with new iasl compiler, but there is some problem in DSDTEditor.jar. Within source code i found mistake:

BufferedReader input = new BufferedReader(new InputStreamReader(err.getInputStream()));

new iasl compiller print dsdt error into error stream, therefore had better to use getErrorStream():

BufferedReader input = new BufferedReader(new InputStreamReader(err.getErrorStream()));

I were not able to edit byte-code. Could you be so kind to give source code for this project or  fix this by your self?

Link to comment
Share on other sites

  • 4 months later...

Almost most DSDT patch I need,used for long time.But absence one important DSDT Patch,wake up

Yes,with beyond compare+MaciASL+DSDT Editor+AIDA64,finally I know what to edit DSDT.

AIDA64 get acpi_dsdt.bin,rename to originaldsdt.aml

Patch DSDT.aml
ACPI Patcher only do local0 fix and HPET fix,which can be done by MaciASL,ACPI Patcher without any fixes and patches,patch fail.with local0 fix,patch successful.local0 fix equal "Local0", Local0.both black screen solved
Chameleon load desktop without blackscreen,however after a while system crash.add method _STA and _CRS to PNP0103 (HPET.txt) solved
0x001F0002  device-id 0x81, 0x26, 0x00, 0x00\n AHCI SATA orange icon.txt+DTGP.txt orange problem solved.
Shutdown _PTS Shutdown Gigabyte.txt shutdown problem solved.
MacNB 0x04, OSFX (MacNB.txt)solved can't wake up from sleep problem.
0x001B0000 layout-id 0x01, 0x00, 0x00, 0x00 HDEF.txt for Mavericks Audio.
Change 0x001C0005 address PEX5 (LAN0.txt) to solve builtin ethernet.change LPC device-id to 0x17, 0x29 (LPC.txt) to solved load AppleLPC.kext.
Change USB OperationRegion _S3D _PSW (USB WAKEUP.txt) to solved wake up by mouse.

Mac devices.txt change USB to UHC

RTC.txt change to 0x02 can't avoid reset CMOS,use clover Apple RTC.

Insert return into method _WAK to fix warning add zero WAK.txt

Vanilla speed step 0x0926 0x0821 0x071C 0x0616 4 states, CPU0-3.txt to avoid clover generate P & C states

post-236960-0-11019000-1443001417_thumb.png

Link to comment
Share on other sites

  • 9 months later...

 

I have a HP a6040n Desktop (Asus MB) with a DSDT that was patched back in 2011.  Everything works except shutdown.  The fans still turn on the CPU.

 

I am lost because this was patched by Mald0n some time ago but the shutdown patch for Asus MB's does not seem to be in place?  When I try to patch with DSDTeditor with the asus shutdown patch it does not seem to change anything?  

 

I have tried  this patch on a vanilla DSDT and it does not seem to modify it as well?

 

I have attached the vanilla DSDT along with the portion of the script that dsdteditor does not seem to patch?

Method (\_PTS, 1, NotSerialized)
{
Or (Arg0, 0xF0, Local0)
Store (Local0, DBG1)
Store (0x01, PM29)
If (LNotEqual (VID0, 0xFFFF))
{
If (LEqual (And (RSR0, 0x01), 0x01))
{
Or (RSR0, 0x01, RSR0)
Or (PMC0, 0x80, PMC0)
}
}
If (LNotEqual (VID1, 0xFFFF))
{
If (LEqual (And (RSR1, 0x01), 0x01))
{
Or (RSR1, 0x01, RSR1)
Or (PMC1, 0x80, PMC1)
}
}

EDITED:

 

I left a thread over at olarila and within a few hours had the fix unreal!!  Just not really sure how the code works?

 

 

Before Edit:

OSTP ()
If (LEqual (Arg0, One)) {}
If (LEqual (Arg0, 0x03)) {}
If (LEqual (Arg0, 0x05))
{
Store (ESMI, Local0)
And (Local0, 0xFB, Local0)
Store (Local0, ESMI)
}

After Edit:

OSTP ()
If (LEqual (Arg0, One)) {}
If (LEqual (Arg0, 0x03)) {}
If (LEqual (Arg0, 0x05))
{
Store (Zero, TRAP)
Sleep (0x10)
}

 

this package include HPET DSDT is bad,doesn't include Adds IRQ(0, 8, 11) to device HPET https://clover-wiki.zetam.org/Configuration/ACPI,however shutdown gigabyte DSDT is good but this code is more useful for my DFI motherboard

into method label _PTS code_regex (If\s*\(LEqual\s*\(Arg0,\s*0x05\)\)\s*\n\s*\{\s*\n)(?:[^\n\}]+\n)+(\s*\}) replace_matched
begin
%1
            Store (Zero, TRAP)\n
            Sleep (0x10)\n
%2
end
Link to comment
Share on other sites

  • 7 months later...
  • 2 months later...
  • 3 months later...
  • 4 months later...
  • 1 year later...

I used the DSDTEditor for Windows. There were lots of errors. Even after clicking fix errors there were 5 errors left and I could not find patches for my mobo GA-H81M-S and CPU Pentium (R) G3240 @3.10GHz. I am still struggling to get to the installer???  I saved the DSDT.aml to /Extra folder on USB. I am attaching my dsdt.aml for help

dsdt.aml

Link to comment
Share on other sites

9 hours ago, macadventure said:

I used the DSDTEditor for Windows. There were lots of errors. Even after clicking fix errors there were 5 errors left and I could not find patches for my mobo GA-H81M-S and CPU Pentium (R) G3240 @3.10GHz. I am still struggling to get to the installer???  I saved the DSDT.aml to /Extra folder on USB. I am attaching my dsdt.aml for help

dsdt.aml

check if u need a fakecpuid, i think ur processor don't have a native support

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...