Jump to content

DSDT Patcher


  • Please log in to reply
746 replies to this topic

#1
fassl

fassl

    InsanelyMac Legend

  • Retired
  • 623 posts
UPDATE: Guys it looks like final 10.5.6 AppleRTC.kext doesnt panic without DSDT patch, so you probably wont need it. It paniced on new macbook and some beta 10.5.6 update though.



Also look up this thread: Chameleon with DSDT override function

@All complaining about hotter CPU's with AppleIntelCPUPowerManagement: Guys there is no need to have this kext loaded all the time, if you get hotter CPU, just remove that kext and everything is ok. Why I added this to patcher is just for security reasons on update, since i still see many people without an Disabler.kext and they just blindly update and then complain about a kernel panic during the update process. So this is just to be more secure on updating.

Update:

Version 1.0.1e
-added OSI emulation by mackerintel
-added Mute fix by mackerintel
thx for this ;)
Attached File  DSDT_Patcher1.0.1e.zip   225.93KB   83311 downloads

Most things needed to be fixed for Darwin the patcher fixes now. There may be still issues in your DSDT but since one DSDT looks very different than another this is needed to be done manually. So i think its time to release the source (yeah i know the code looks ugly but it does its job)
Attached File  DSDT_Patcher_Source.zip   242.93KB   6886 downloads

---------------
VAIO Users: pls try this patcher, i saw some Variable issues in LCD Device of VAIO DSDT, the patcher fixes this issues, maybe that will solve Internal LCD Diplay issue with QE/CI enabled. Maybe also more work is needed but actually i think we can solve your Problems in DSDT. Somebody correct me if i'm wrong. So please come here and test, thank you. I also invite more people to mess around with DSDT and come here with their findings ;)

Update: I made some different DSDT's but haven't yet found how to get QE/CI working on the internal display, seems more things needs to be done... Look up this thread by vaag, he got it working on his DELL, maybe you can find solution. http://forum.insanel...o...=135184&hl=
---------------


Also, if the compiling goes wrong, it doesnt always mean the patching went wrong, some manufactorers just ship crappy DSDT's in the BIOS. You can force to compile it even if there are errors: /PATH/TO/DSDT\ Pachter -f

-------Original Post-----------

Hey there, i thought it might be better to start a new Thread for this. As you may already heard you will have Problems with the upcoming (10.5.6) Apple Update if your DSDT is messed up, and it is for sure :D.

Good thing is, mackerintel added DSDT override function to Chameleon: http://forum.insanel...howtopic=132757

What does that mean? Well you can put a modified compiled DSDT in the Root of your Booting partition, and it will try to attach this, very good for people who are afraid of flashing their BIOS. :)

I made a little Tool that will patch your DSDT and will (well should) let you allow to use the upcoming (10.5.6) AppleRTC.kext and AppleIntelCPUPowerManagement.kext (no disabler needed anymore) which will otherwise panic.


Pls report back if it works or not, and what is working and what not, so this tool can grow.
Readme is included in the Zip file.

greetz

P.S. I will release the source when its done
And i like to thank all Chameleon/OSX Developers, especially zef, kabyl, modbin for helping all the time, keep up the good work!



---------Old Versions-----------
Version 1.0.1d
-fixed another search Routine issue
-added -newHPET arg, for people still suffering "Package 0 didn't get a HPET" after patching. so you guys drag the Patcher in the Terminal and write -newHPET
-Patcher uses now a bash script for obtaining the DSDT since GetDSDT didn't worked for some people.
-contains _T_ Variable issues fix which caused non-compiling by mackerintel
-contains "Method local variable is not initialized (Local0)" fix
-contains CPU Aliases fix
-contains RTC fix for upcoming AppleRTC.kext
-contains HPET fix for AppleIntelCPUPowerManagement.kext
Attached File  DSDT_Patcher1.0.1d.zip   227.06KB   1092 downloads

Version 1.0.1c2
-Patcher uses now a bash script for obtaining the DSDT since GetDSDT didn't worked for some people.
-fixed CPU Aliases patching (all what pointed to the removed Alias has to be patched as well)
-added _T_ Variable issues fix which caused non-compiling by mackerintel
-contains "Method local variable is not initialized (Local0)" fix
-contains CPU Aliases fix
-contains RTC fix for upcoming AppleRTC.kext
-contains HPET fix for AppleIntelCPUPowerManagement.kext
Attached File  DSDT_Patcher1.0.1c2.zip   225.55KB   308 downloads Fixed DSDT.X issue
Attached File  DSDT_Patcher1.0.1c.zip   225.54KB   78 downloads

Version 1.0.1b
-fixed a patching routine issue which caused non-compiling dsdt
-added "Method local variable is not initialized (Local0)" fix
-contains CPU Aliases fix
-contains RTC fix for upcoming AppleRTC.kext
-contains HPET fix for AppleIntelCPUPowerManagement.kext
Attached File  DSDT_Patcher1.0.1b.zip   225.75KB   217 downloads

Version 1.0.1a
-fixed CPU Aliases fix
-contains RTC fix for upcoming AppleRTC.kext
-contains HPET fix for AppleIntelCPUPowerManagement.kext
Attached File  DSDT_Patcher1.0.1a.zip   225.44KB   110 downloads

Version 1.0.1
-added CPU Aliases fix
-added some device name fix
-contains RTC fix for upcoming AppleRTC.kext
-conatins HPET fix for AppleIntelCPUPowerManagement.kext
Attached File  DSDT_Patcher1.0.1.zip   225.4KB   107 downloads

Attached Files



#2
spanakorizo

spanakorizo

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 747 posts
can u explain why i should try it?
i have no problems so far :D
but i can't stop trying new stuff :)

can't understand this thing with DSDT

#3
fassl

fassl

    InsanelyMac Legend

  • Retired
  • 623 posts

i have no problems so far :D


Yeah so far... but in 10.5.6 there will be a new AppleRTC.kext which will panic if you haven't your RTC Device patched in your DSDT. Other than the AppleIntelCPUPowerManagement.kext you cant just delete it. So better to fix your DSDT now, than having Problems later :)

greetz

#4
spanakorizo

spanakorizo

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 747 posts
ok i got it
i'll try and post results

#5
Alundra

Alundra

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
  • Gender:Male
  • Location:Portugal
You can use AppleRTC.kext from 10.5.5 but DSDT is the right way. Even my AZAL sound device Ive managed to change it to HDEF with it.
So, Im glad for the work of the Chameleon, DSDT guys as well as DSDT Patcher

#6
FavleX

FavleX

    FavleX

  • Members
  • PipPipPipPipPipPipPip
  • 731 posts
thanks

I'm trying to understand a bit more on DSDT , reading around on this very forum but..

What will change in future on ours osx86 with dsdt patcher possibility ?

I mean , we can update 10.5.6 , and will be improvements in other areas , like ACPI for example ?

#7
mackerintel

mackerintel

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 128 posts

thanks

I'm trying to understand a bit more on DSDT , reading around on this very forum but..

What will change in future on ours osx86 with dsdt patcher possibility ?

I mean , we can update 10.5.6 , and will be improvements in other areas , like ACPI for example ?

DSDT is a part of ACPI. Actually DSDT tells OS how to interract with the hardware (simplified way of telling it). OSX has an incomplete ACPI implementation which supports only a subset of DSDT. By replacing DSDT we can declare essentially the same interface but in the way that OSX understands. This potentially can solve nearly any ACPI-related problem (except if OSX bypasses ACPI). Other usage case is emulating by the means of DSDT features or hardware components not present on your system. But this is limited to devices that use ACPI.

@all: does anybody know if binary protection uses ACPI? If so implementing binary protection emulator in DSDT would be a way to have a completely untouched OSX.

#8
FavleX

FavleX

    FavleX

  • Members
  • PipPipPipPipPipPipPip
  • 731 posts

DSDT is a part of ACPI. Actually DSDT tells OS how to interract with the hardware (simplified way of telling it). OSX has an incomplete ACPI implementation which supports only a subset of DSDT. By replacing DSDT we can declare essentially the same interface but in the way that OSX understands. This potentially can solve nearly any ACPI-related problem (except if OSX bypasses ACPI). Other usage case is emulating by the means of DSDT features or hardware components not present on your system. But this is limited to devices that use ACPI.

@all: does anybody know if binary protection uses ACPI? If so implementing binary protection emulator in DSDT would be a way to have a completely untouched OSX.

Thanks Indeed for ur awesome job mackerintel,
In the meantime I understood how this "small" :) change , will make big improvement on osx86 , especially on a big unified bootloader
So I stay tuned and ready to test.

Tomorrow I try it on a DS4 Mboard :)

#9
anibalin

anibalin

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 278 posts
@mackerintel: thanks for the explanation. As FavleX was wondering and searching about DSDT to understand more. Thanks again.

#10
fassl

fassl

    InsanelyMac Legend

  • Retired
  • 623 posts
Well, emulating devices, i added for instance an SMC device to my DSDT, doesnt really do anything, but i have now SMC device in the IOReg:

| +-o SMC  <class IOACPIPlatformDevice, registered, matched, active, busy 0, retain 8>
	| | +-o SMCMotionSensor  <class SMCMotionSensor, !registered, !matched, active, busy 0, retain 4>
	| |	   "CFBundleIdentifier" = "com.apple.driver.SMCMotionSensor"
	| |	   "IOUserClientClass" = "SMCMotionSensorClient"
	| |	   "IOClass" = "SMCMotionSensor"

greetz

#11
FavleX

FavleX

    FavleX

  • Members
  • PipPipPipPipPipPipPip
  • 731 posts

Well, emulating devices, i added for instance an SMC device to my DSDT, doesnt really do anything, but i have now SMC device in the IOReg:

| +-o SMC  <class IOACPIPlatformDevice, registered, matched, active, busy 0, retain 8>
	 | | +-o SMCMotionSensor  <class SMCMotionSensor, !registered, !matched, active, busy 0, retain 4>
	 | |	   "CFBundleIdentifier" = "com.apple.driver.SMCMotionSensor"
	 | |	   "IOUserClientClass" = "SMCMotionSensorClient"
	 | |	   "IOClass" = "SMCMotionSensor"

greetz

..mmhh, probably I say an "idiot one" but I'm trying to enlight myself :) sorry in advance ..
If one day the last update release from apple , requests a SMC Sensor, I can go ahead with updating just emulating it?
Is this the meaning ?

#12
mackerintel

mackerintel

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 128 posts

Well, emulating devices, i added for instance an SMC device to my DSDT, doesnt really do anything, but i have now SMC device in the IOReg:

| +-o SMC  <class IOACPIPlatformDevice, registered, matched, active, busy 0, retain 8>
	 | | +-o SMCMotionSensor  <class SMCMotionSensor, !registered, !matched, active, busy 0, retain 4>
	 | |	   "CFBundleIdentifier" = "com.apple.driver.SMCMotionSensor"
	 | |	   "IOUserClientClass" = "SMCMotionSensorClient"
	 | |	   "IOClass" = "SMCMotionSensor"

greetz

Very nice fassl. Way to go.
@all: emulating SMC could enable the full-feature usage of unpatched PowerManagementBundle and sleep with vanilla kernels

#13
fassl

fassl

    InsanelyMac Legend

  • Retired
  • 623 posts

Very nice fassl. Way to go.
@all: emulating SMC could enable the full-feature usage of unpatched PowerManagementBundle and sleep with vanilla kernels


Sleep, well fixing the _WAK Device in DSDT could enable sleep, some _WAK Devices need this at the end:
Return(Package(0x02){0x00, 0x00})
thx to realityiswhere for pointing that out.

#14
BlackCH

BlackCH

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,618 posts
  • Gender:Male
  • Location:BCN
doesnt get to compile dsdt.aml even with '-f' flag...

We are done patching, press any key to try to compile the fixed DSDT

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20080926 [Oct  4 2008]
Copyright (C) 2000 - 2008 Intel Corporation
Supports ACPI Specification Revision 3.0a

./dsdt_fixed.txt	 1: ACPI (Local2)
Error	4095 -			^ syntax error, unexpected PARSEOP_NAMESEG, expecting PARSEOP_DEFINITIONBLOCK

ASL Input:  ./dsdt_fixed.txt - 16271 lines, 586089 bytes, 0 keywords
AML Output: (null) - 0 bytes, 0 named objects, 0 executable opcodes

Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

Compiling done, if it worked, you have now a patched DSDT in dsdt.aml
If the compiling went wrong, you could force to build it with ./DSDT\ Patcher -f (try this DSDT at your own risk)

HP-6720s:DSDT_Patcher1.0.1 dlow$

Is there a way to patch it manually (and compile it)?

#15
fassl

fassl

    InsanelyMac Legend

  • Retired
  • 623 posts
Sure, patch Debug/dsdt_fixed.txt

then run
./iasl -ta dsdt_fixed.txt


#16
BlackCH

BlackCH

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,618 posts
  • Gender:Male
  • Location:BCN

Sure, patch Debug/dsdt_fixed.txt

then run

./iasl -ta dsdt_fixed.txt



I ended up with a dsdt.hex file. Can I make the .aml file out of the hex?

#17
pasi

pasi

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts

I ended up with a dsdt.hex file. Can I make the .aml file out of the hex?


@BlackCH

Can you post your dsdt.dsl. I am interesting to see how you manage both core to work. I have hp 530 and for now is no chance to run both core. Thare is no aliaces problem and processors in dsdt table are described in diferent way then in other comps

thanks

#18
BlackCH

BlackCH

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,618 posts
  • Gender:Male
  • Location:BCN

I ended up with a dsdt.hex file. Can I make the .aml file out of the hex?


Nevermind, the file was actually empty. my dsdt.dsl wont compile (not even unmodified!). I tryed ./iasl -sa which gave me a .asm file but empty as well...
so I will try to do it on linux to see if I get to it.

@BlackCH
Can you post your dsdt.dsl. I am interesting to see how you manage both core to work. I have hp 530 and for now is no chance to run both core. Thare is no aliaces problem and processors in dsdt table are described in diferent way then in other comps
thanks


Dual core was working out of the box. Im just trying to get RTC/HPET fixed.... But here is my (untouched) dsdt file if you want to have a look. Maybe you could help me

Attached Files



#19
mackerintel

mackerintel

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 128 posts

Nevermind, the file was actually empty. my dsdt.dsl wont compile (not even unmodified!). I tryed ./iasl -sa which gave me a .asm file but empty as well...
so I will try to do it on linux to see if I get to it.



Dual core was working out of the box. Im just trying to get RTC/HPET fixed.... But here is my (untouched) dsdt file if you want to have a look. Maybe you could help me


Your dump seems to be uncomplete and/or incorrectly disassembled. Try using latest iasl and look if you have SSDT

#20
SticMAC™

SticMAC™

    "Nobody likes a SmartASS"

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 2,590 posts
  • Gender:Male
  • Location:Da Bathroom!!
ASUS P5B-Deluxe..
Done mine, copied it over to the root with the new "boot", removed IntelCPUPMDisabler.kext and everything seems fine!

What is the function of the "dsdt_acpi12.diff" that comes with the "boot" file and where should it go!?
How can one see, test to see if it works or is the fact that I could remove IntelCPUPMDisabler.kext enough proof!?

SticMAN





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