Jump to content
InsanelyMac Forum
mackerintel

Chameleon with DSDT override

Recommended Posts

Update: also have a look at http://forum.insanelymac.com/index.php?showtopic=133683

 

Update: file chameleon in chameleon.zip should become your /boot if you use "easy install method" for Chameleon. If you don't know how to install Chameleon chances are you may screw this up. But reinstall of Chameleon should cure. Still I take no responsibility. Try at your own risk

Update: relaxed some sanity checks due to the problem on Superhai's mobo. Thanks him for testing

chameleon.zip

 

Update: I've just added two options to control DSDT override. First one is DSDT=<filename> which let you specify DSDT file to load. Second one is DropSSDT. If you write DropSSDT=y then all SSDT tables (additions to main DSDT) will be hidden from OSX. If you need to patch SSDT just reunite it with SSDT and override DSDT dropping SSDT. Debug version is also in the archive

chameleon_ssdt.zip

 

 

Hello. Some people were experiencing problems because of the incompatible DSDT. So I've written a patch to Chameleon which looks for the file named /DSDT.aml and if it finds one it overrides the DSDT with contents of this file. Micro-howto.

Under Ubuntu

sudo cat /proc/acpi/dsdt > dsdt.dat
 sudo aptitude install iasl
 iasl -d dsdt.dat

Then correct your dsdt.dsl. (Look at http://forum.insanelymac.com/index.php?showtopic=90505)

iasl -ta dsdt.dsl

then put dsdt.aml to DSDT.aml in the root of your macos partition.

Install Chameleon (any Chameleon install method should do. I personally load it with GRUB)

On my system this had mixed results: I now can use vanilla AppleACPIPlatform and AppleAPIC (before I had to use old JaS kexts) but when I try to boot with cpus=2 I recieve a crash (but significantly later than before). Perhaps I have to fix my DSDT some more, perhaps my new problem isn't DSDT-related or perhaps my patch has some problems.

This patch is really fresh, I've just written it and I tested it only on my machine . So any bug is possible.

You try this patch on your own risk. I take no responsibility of any possible damage.

But if you try please leave a comment in this thread

Just for the people using search: DSDT replacement solves different problems. One of them is the problem "using 10485 buffer headers and 4096 cluster IO buffer headers" (like http://forum.insanelymac.com/index.php?showtopic=78235 except that you get both cores working)

EDIT: Removed old version. Put new which should support more configurations

chameleondsdt_acpi12.zip

Share this post


Link to post
Share on other sites
Advertisement

Small update: on my laptop additionally GenericCPUPowerManagement.kext was conflicting with dual-core. After reinstall (just to clear everything) using modified DSDT allowed me to use second core but since I didn't reinstall GenericCPUPowerManagement.kext I have no speedstep. Will go around and look for another speedstep solution

Share this post


Link to post
Share on other sites

Wow this is great news, I too need the old ACPI and APIC to boot, if this works out maybe it can be merged with the chameleon /dfe for the boot-132 cd's and dfe/efi partition booting. This would be huge imo. Great job :)

 

I am booing a patched kernel + extensions + boot.plist from the efi partition on my P4 system so this would be of interest to me.

Share this post


Link to post
Share on other sites

mackerintel:

 

Hi! Grats for your additions to Chameleon 1.0.11! ;) However i'd like to ask you to follow APSL's terms which means you make your source code available somehow.

 

Bye,

zef

 

I'm terribly sorry, just missed that patch file in the attached zip! :)

 

Thank you so much :)

 

Bye,

zef

Share this post


Link to post
Share on other sites

Seems to work OK for me. I used to use modified BIOS and I dumped DSDT from that - now I can use vanilla BIOS and with Your patch everything is OK - two cores and new AppleACPIPlatform and AppleAPIC as weel. Good work!

Share this post


Link to post
Share on other sites
mackerintel:

 

Hi! Grats for your additions to Chameleon 1.0.11! :D However i'd like to ask you to follow APSL's terms which means you make your source code available somehow.

 

Bye,

zef

 

I'm terribly sorry, just missed that patch file in the attached zip! :)

 

Thank you so much :)

 

Bye,

zef

 

Looks like zef is on top of it :) yay!

Share this post


Link to post
Share on other sites
now to merge hibernate and x64 code into chamellion and all will be happy :P

 

I personally don't care much about sleep (my system refuses to wake up from sleep) but x64 support would be very nice. x64 support+DSDT override is exactly what I need to get my system Snow Leopard-x64-ready (if Snow Leopard doesn't break anything else)

P.S. I added a line to say what this patch can fix: for the people using search

Share this post


Link to post
Share on other sites

ur patch doesnt work on gigabytes, freeze after it find rsdt address (enabled debug)

can it be cause by bl unable to find acpi2.0 rsdp on gigas ?

Share this post


Link to post
Share on other sites
ur patch doesnt work on gigabytes, freeze after it find rsdt address (enabled debug)

can it be cause by bl unable to find acpi2.0 rsdp on gigas ?

 

I don't think so since on my computer it doesn't find ACPIv1 and the code is completely symmetrical about v1 and v2. Do you have more than 4GB of RAM? If it's the case then it's possible that xsdt is upper than 4 GB and then my patch find some random data instead of XSDT.

So it writes "rsdt=..." but no "TABLE ..."? I'll add different sanity checks to be sure that it finds correct table

Try the attached version. I added some checks and if it finds an address over 4GB it drops XSDT completely hoping that OSX reverts to RSDT. Does anybody know about simple way of accessing memory over 4GB?

P.S. Corrected the name of compiler in first post. Sorry for mistake

EDIT: deleted this download. Use the latest version

Share this post


Link to post
Share on other sites

NEed help plz.

 

I boot OSX with an USB key.

 

I use chameleon on it.

 

I copied boot file in chameleon.app/Contents/resources/boot/, then installed again chameleon.

 

Did i do right ?

 

How can i know if it works correctly ? Any Message in verbose mode ?

Share this post


Link to post
Share on other sites
NEed help plz.

 

I boot OSX with an USB key.

 

I use chameleon on it.

 

I copied boot file in chameleon.app/Contents/resources/boot/, then installed again chameleon.

 

Did i do right ?

 

How can i know if it works correctly ? Any Message in verbose mode ?

I don't know. I always use GRUB method. You can try just putting boot at the root of your partition. Have you put the corrected DSDT in the file /DSDT.aml of your partition? Did you put the compiled version? Try debug version from last post (use chameleon2debug as boot)

Share this post


Link to post
Share on other sites

I used the debug V2.

 

I simply copy it in the / of the boot drive

 

it works :)

 

Now i have to find what i have to change to get dual core working on my hp laptop NC6400, as it crash randomely when dual core is enabled

Hre's my DSDT

Share this post


Link to post
Share on other sites
I used the debug V2.

 

I simply copy it in the / of the boot drive

 

it works :D

 

Now i have to find what i have to change to get dual core working on my hp laptop NC6400, as it crash randomely when dual core is enabled

Hre's my DSDT

I looked at your dsdt (downloaded from parallel thread). It doesn't suffer from the same problem as mine (aliases). UnfortunatelyI don't have a lot of experience with DSDT to determine what's wrong with it. But my first suggestion would be to go through kexts. Perhaps some of them conflict with dual-core. Try moving all the modified and non-apple kexts out of the extension folder. Try also to boot with -f, -x or -s

Share this post


Link to post
Share on other sites
I looked at your dsdt (downloaded from parallel thread). It doesn't suffer from the same problem as mine (aliases). UnfortunatelyI don't have a lot of experience with DSDT to determine what's wrong with it. But my first suggestion would be to go through kexts. Perhaps some of them conflict with dual-core. Try moving all the modified and non-apple kexts out of the extension folder. Try also to boot with -f, -x or -s

 

i Tried...

nothing works :(

 

it seems when crash, that one core stops responding, as it sleep

Share this post


Link to post
Share on other sites
i Tried...

nothing works :(

 

it seems when crash, that one core stops responding, as it sleep

 

Hello. I removed the power-state information from your DSDT. Not sure what effect it will have. So I give no warranty whatsoever. Try at your own risk

dsdt.aml.zip

Share this post


Link to post
Share on other sites

mackerintel

 

i have 4gb, according to bios memory map, about 1 gb mapped above 4gb limit.

 

will try ur 1.2 patch.

 

EDIT: checked, works fine now.

Share this post


Link to post
Share on other sites

Hey,

 

I made a Tool to patch your DSDT, it will create a dsdt.aml with what you should be able to run AppleIntelCPUPowerManagement.kext and the upcoming AppleRTC kext without a panic. Have fun :)

Readme is included. If it fails please PM me and attach the Patcher output.

 

greetz

 

PatchDSDT.zip

 

Thanks to all Chameleon/OSX Developers who make such things possible, especially zef, kabyl and modbin for helping me at any time and share their work/knowledge, keep it up thanks.

Share this post


Link to post
Share on other sites

I have done some testing with fassl's patch and i can say it definitely works. I've got both AppleIntelCPUPowerManagement.kext and AppleRTC.kext loaded now with corrected dsdt.aml and it's working fine :)

Share this post


Link to post
Share on other sites

it works great!!! tested on P35-DS4 Q6700

 

awesome work !

 

thanks for this ;)

 

78631Imagen%203.jpg

87060Imagen%205.jpg

 

Last login: Tue Oct 28 00:21:24 on console
MB51-de-roisoft:~ roisoft$ kextstat
Index Refs Address    Size       Wired      Name (Version) <Linked Against>
   1    1 0x0        0x0        0x0        com.apple.kernel (9.5.1)
   2   32 0x0        0x0        0x0        com.apple.kpi.bsd (9.5.1)
   3    3 0x0        0x0        0x0        com.apple.kpi.dsep (9.5.1)
   4   50 0x0        0x0        0x0        com.apple.kpi.iokit (9.5.1)
   5   52 0x0        0x0        0x0        com.apple.kpi.libkern (9.5.1)
   6   45 0x0        0x0        0x0        com.apple.kpi.mach (9.5.1)
   7   27 0x0        0x0        0x0        com.apple.kpi.unsupported (9.5.1)
   8    1 0x0        0x0        0x0        com.apple.iokit.IONVRAMFamily (9.5.1)
   9    1 0x0        0x0        0x0        com.apple.driver.AppleNMI (9.5.1)
  10    1 0x0        0x0        0x0        com.apple.iokit.IOSystemManagementFamily (9.5.1)
  11    1 0x0        0x0        0x0        com.apple.iokit.ApplePlatformFamily (9.5.1)
  12   13 0x0        0x0        0x0        com.apple.kernel.6.0 (7.9.9)
  13    1 0x0        0x0        0x0        com.apple.kernel.bsd (7.9.9)
  14    1 0x0        0x0        0x0        com.apple.kernel.iokit (7.9.9)
  15    1 0x0        0x0        0x0        com.apple.kernel.libkern (7.9.9)
  16    1 0x0        0x0        0x0        com.apple.kernel.mach (7.9.9)
  17   13 0x5456d000 0x10000    0xf000     com.apple.iokit.IOPCIFamily (2.5) <7 6 5 4>
  18    8 0x54583000 0x4000     0x3000     com.apple.iokit.IOACPIFamily (1.2.0) <12>
  19    2 0x545d2000 0x3e000    0x3d000    com.apple.driver.AppleACPIPlatform (1.2.1) <18 17 12 7 5 4>
  20    0 0x5461c000 0x4000     0x3000     com.superhai.driver.SMBIOSResolver (1.0.6) <12>
  21    2 0x54730000 0x39000    0x38000    com.apple.iokit.IOHIDFamily (1.5.3) <7 6 5 4 2>
  22    0 0x54779000 0x5000     0x4000     com.apple.BootCache (30.2) <7 6 5 4 2>
  23    0 0x5478a000 0x3000     0x2000     com.apple.driver.decrypt (2.0.3) <7 5 4>
  24    0 0x547ed000 0x19000    0x18000    com.apple.driver.AppleIntelCPUPowerManagement (59.0.0) <12 7 6 5 4 2>
  25    0 0x54846000 0x3000     0x2000     com.apple.security.TMSafetyNet (3) <7 6 5 3 2>
  26    0 0x54860000 0x8000     0x7000     com.apple.nke.applicationfirewall (1.0.77) <7 6 5 4 2>
  27    0 0x548a0000 0x18000    0x17000    com.apple.security.seatbelt (107.10) <7 6 5 3 2>
  28    0 0x54960000 0x3000     0x2000     com.apple.driver.AppleAPIC (1.4) <5 4>
  29    0 0x54981000 0x4000     0x3000     com.apple.driver.AppleSMBIOS (1.1.1) <7 5 4>
  30    0 0x5b611000 0x4000     0x3000     com.apple.driver.AppleACPIButtons (1.2.1) <21 19 18 7 6 5 4 2>
  31    0 0x5b6bf000 0x3000     0x2000     com.apple.driver.AppleACPIPCI (1.2.1) <19 18 17 12>
  32    0 0x5b700000 0x3000     0x2000     com.apple.driver.AppleHPET (1.2) <18 7 6 5 4>
  33    0 0x5b759000 0x5000     0x4000     com.apple.driver.AppleRTC (1.2.2) <18 6 5 4 2>
  34    0 0x5b76d000 0x3000     0x2000     com.apple.driver.AppleEFIRuntime (1.2.0) <7 6 5 4>
  35    7 0x5b825000 0x2b000    0x2a000    com.apple.iokit.IOUSBFamily (3.2.0) <7 6 5 4 2>
  36    0 0x5b954000 0xe000     0xd000     com.apple.driver.AppleUSBUHCI (3.2.0) <35 17 7 6 5 4>
  37    3 0x5b9bb000 0x6000     0x5000     com.apple.iokit.IOAHCIFamily (1.5.0) <6 5 4 2>
  38    0 0x5b9d6000 0xd000     0xc000     com.apple.driver.AppleAHCIPort (1.5.2) <37 17 6 5 4 2>
  40    0 0x5baa5000 0x12000    0x11000    com.apple.driver.AppleUSBEHCI (3.2.0) <35 17 7 6 5 4>
  41   10 0x5bb4b000 0x18000    0x17000    com.apple.iokit.IOStorageFamily (1.5.4) <7 6 5 4 2>
  42    0 0x5bb8d000 0x11000    0x10000    com.apple.iokit.IOAHCIBlockStorage (1.2.0) <41 37 6 5 4 2>
  43    0 0x5bc91000 0x2000     0x1000     com.apple.iokit.IOUSBUserClient (3.2.0) <35 6 5 4>
  45    0 0x5bd69000 0xb000     0xa000     com.apple.driver.AppleUSBHub (3.2.0) <35 6 5 4>
  46    0 0x5be3c000 0x5000     0x4000     com.apple.driver.XsanFilter (2.7.91) <41 12>
  47    5 0x5bf27000 0x19000    0x18000    com.apple.iokit.IOSCSIArchitectureModelFamily (2.0.5) <6 5 4 2>
  48    0 0x5bf71000 0x8000     0x7000     com.apple.iokit.IOAHCISerialATAPI (1.0.2) <47 37 6 5 4 2>
  49    3 0x5c0ce000 0x8000     0x7000     com.apple.iokit.IOCDStorageFamily (1.5) <41 6 5 4 2>
  50    2 0x5c10e000 0x6000     0x5000     com.apple.iokit.IODVDStorageFamily (1.5) <49 41 6 5 4 2>
  51    1 0x5c137000 0x16000    0x15000    com.apple.iokit.IOSCSIBlockCommandsDevice (2.0.5) <47 41 6 5 4 2>
  52    1 0x5c15b000 0x5000     0x4000     com.apple.iokit.IOBDStorageFamily (1.5) <50 49 41 6 5 4 2>
  53    0 0x5c188000 0x16000    0x15000    com.apple.iokit.IOSCSIMultimediaCommandsDevice (2.0.5) <52 51 50 49 47 41 6 5 4 2>
  54    0 0x5c20a000 0x6000     0x5000     com.apple.iokit.SCSITaskUserClient (2.0.5) <47 41 6 5 4 2>
  55    0 0x5c263000 0x4000     0x3000     com.apple.driver.AppleUSBComposite (3.2.0) <35 5 4>
  56    0 0x5c34e000 0xa000     0x9000     com.apple.iokit.IOUSBMassStorageClass (2.0.3) <47 41 35 12>
  58    0 0x6623d000 0x5000     0x4000     com.apple.iokit.IOUSBHIDDriver (3.2.0) <35 21 6 5 4>
  59    0 0x5452d000 0x3000     0x2000     com.apple.driver.AppleLPC (1.2.11) <17 6 5 4>
  60    2 0x5466d000 0x9000     0x8000     com.apple.driver.AppleSMC (2.2.0d4) <18 7 6 5 4>
  61    1 0x54676000 0xe000     0xd000     com.apple.driver.IOPlatformPluginFamily (3.2.0d26) <12 4>
  62    0 0x54684000 0xe000     0xd000     com.apple.driver.ACPI_SMC_PlatformPlugin (3.2.0d26) <61 60 18 17 12 7 6 5 4>
  63    4 0x54692000 0x1d000    0x1c000    com.apple.iokit.IOGraphicsFamily (1.6) <17 7 6 5 4>
  64    1 0x546af000 0x16000    0x15000    com.apple.iokit.IONetworkingFamily (1.6.1) <7 6 5 4 2>
  65    0 0x546c5000 0x6000     0x5000     com.apple.driver.AppleRTL8169Ethernet (1.0.3) <64 17 6 5 4 2>
  68    2 0x5478d000 0xe000     0xd000     com.apple.iokit.IONDRVSupport (1.6) <63 17 7 6 5 4>
  69    2 0x66263000 0x26b000   0x26a000   com.apple.NVDAResman (5.3.2) <68 63 17 6 5 4 2>
  70    0 0x664ce000 0x254000   0x253000   com.apple.nvidia.nv50hal (5.3.2) <69 5 4>
  71    0 0x54868000 0x10000    0xf000     com.apple.driver.DiskImages (195.1) <41 7 6 5 4 2>
  72    0 0x5c001000 0x98000    0x97000    com.apple.GeForce (5.3.2) <69 68 63 17 12 6 5 4 2>
  73    1 0x54610000 0x3000     0x2000     com.apple.kext.OSvKernDSPLib (1.1) <6 5>
  74    1 0x5b770000 0x17000    0x16000    com.apple.iokit.IOAudioFamily (1.6.4b7) <73 6 5 4 2>
  75    0 0x54769000 0x4000     0x3000     com.apple.driver.AudioIPCDriver (1.0.4) <74 6 5 4 2>
  76    0 0x5476d000 0x4000     0x3000     com.apple.driver.AppleUpstreamUserClient (2.7) <63 18 17 12 7 6 5 4 2>
  77    0 0x54771000 0x3000     0x2000     com.apple.Dont_Steal_Mac_OS_X (6.0.3) <60 7 5 4 2>
  78    0 0x5bac1000 0xb000     0xa000     com.apple.filesystems.autofs (2.0.1) <7 6 5 4 2>
  79    0 0x5baef000 0x5000     0x4000     com.apple.driver.AppleHWSensor (1.7.2d1) <12>
MB51-de-roisoft:~ roisoft$ 

Share this post


Link to post
Share on other sites

works here great too!

 

tested on Asus P5K and Asus P5B Deluxe/Wifi

 

thx to fassl who supported me via irc and all others who made this patch working

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.



×