Jump to content

{guide}DSDT mods/hacks


  • Please log in to reply
No replies to this topic

#1
sirbow2

sirbow2

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 728 posts
  • Gender:Male
i was thinking of making a topic of just pure DSDT mods/ hacks. most DSDT topis are full of questions by of how do i fix these errors or something, not actual how to mod a DSDT ;) . it would be helpful because in my experience DSDT mods/help i buried in hundreds of post in multiple topics. if everyone could post some use full dsdt modding info here such as how to add native ethernet support or add pin configs, it would make modding a DSDT much easier for every user of this fourm. all the info for modding a DSDT would be in one place. i hope you see why i created this post.

i am not complaining or what some people would call flaming or whatever.

Orange HD fix:

Add these line to your sata device:
Method (_DSM, 4, NotSerialized)
{
Return (MCID (Arg2, 0x26818086))
}

So it looks like this
Device (SATA)
			{
				Name (_ADR, 0x001F0002)
				Method (_DSM, 4, NotSerialized)
				{
					Return (MCID (Arg2, 0x26818086))
				}

				Device (PRT0)
				{


HPET Fix:
HPET fix allows you to use native apple cpu management
Add this to your HPETY device in your DSDT:
IRQNoFlags ()
	   {0}
   IRQNoFlags ()
	   {8}
It would look like this:
Device (HPET)
{
	Name (_HID, EisaId ("PNP0103"))
	Name (_CID, EisaId ("PNP0C01"))
	Name (BUF0, ResourceTemplate ()
	{
	   IRQNoFlags ()
		  {0}
	   IRQNoFlags ()
		  {8}
		Memory32Fixed (ReadOnly,
			0xFED00000,		 // Address Base
			0x00000400,		 // Address Length
			_Y0F)
	})

Method DTGP:
method DTGP is required by some DSDT hacks, it is best to place it at the beginning of the DSDT
Method (DTGP, 5, NotSerialized)
	{
		If (LEqual (Arg0, Buffer (0x10)
				{
					/* 0000 */	0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, 
					/* 0008 */	0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
				}))
		{
			If (LEqual (Arg1, One))
			{
				If (LEqual (Arg2, Zero))
				{
					Store (Buffer (One)
						{
							0x03
						}, Arg4)
					Return (One)
				}

				If (LEqual (Arg2, One))
				{
					Return (One)
				}
			}
		}

		Store (Buffer (One)
			{
				0x00
			}, Arg4)
		Return (Zero)
	}

Error fixing:

If you get this error:
./dsdt_fixed.txt   222:	 Method (_WAK, 1, NotSerialized)
Warning  1080 -						^ Reserved method must return a value (_WAK)
add this, to the end of your _WAK method in your DSDT:
Return(Package(0x02){0x00, 0x00})
so it looks like this:
Method (_WAK, 1, NotSerialized)
	{

		Notify (\_SB.PCI0.USB0, Zero)
		Notify (\_SB.PCI0.USB1, Zero)
		Notify (\_SB.PCI0.USB2, Zero)
		Notify (\_SB.PCI0.USB3, Zero)
		Notify (\_SB.PCI0.USB4, Zero)
		Notify (\_SB.PCI0.USB5, Zero)
		Return(Package(0x02){0x00, 0x00})  <------ Add here
	}


Also here are two DSDT's that have been edited and slimmed to deliver the best performance for a "hack", they also contain annotations for the edits in the DSDT, the ep45 has the most annotations. the ep45 was mostly edited by MasterChief

feel free to post your own DSDT mods/hacks in a comment

Attached Files







0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy