Last update: 11/12/2008
Basically, the problem is when you have more than 3 gb of ram (some says 2.5 gb) and AppleVIAATA, JMicronATA, AppleNForceATA or AppleATIATA driver.
In my case, I've got 2 IDE HDD and when I upgraded to 4 gb of ram, my desktop started to freeze, or give kernel panics (AppleVIAATA).
After some hours of googling and looking for the driver to solve my issue, i finally made a custom driver that made it.
The problem was that AppleVIAATA driver used 32 bits addresses to make DMA. In an environment with 4 gb of ram, you need 64 bits addresses. I've rewritten some code so that this kext uses a kernel api which supports 64 bits.
I think the problem is solved. To generate kernel panics, i used Rember to test all memory, and while this was running, i started to browse mi IDE hdd. After rewriting the driver, i had no more panics!
FAQ:
1- DOES THIS MEAN THE BUG IS SOLVED?
Old answer: NO! Need testing, i've finished 30 minutes ago and i couldn't test it as much as needed to say it works fine.
New answer: It seems so.
2- IS IT A REPLACEMENT FOR APPLEVIAATA.KEXT?
Old answer: NO! It only solved my IDE problems (I removed some PCIID from Info.plist)
New answer: Yes, it is.
3- CAN I HAVE THE SOURCE CODE TO KEEP DEVELOPMENT?
Old answer: YES! Just tell me where can i upload it (svn like google code) without any legal violation.
New answer: There's a googlecode svn project here: darwin-ata. You may check out and get the source. If you want to be part of the development team (or whatever the name of the people who are trying to make this work is) just PM me. Try to add some info so i can check if u are going to benefit this development or not.
4- DO YOU KNOW HOW TO WRITE IN ENGLISH?
Old answer: NO! I've done such an effort to write this post that i think i'm loosing my mind.
New answer: I'm finishing my degree in computer sciences, not english, the answer is still NO.
5- WHAT KEXT SHOULD I DOWNLOAD?
ONLY ANWSER: The ones that doesn't have the word DEBUG in their names.
6- WHY NOT DEBUG KEXTS?
They are for DEBUGGING. Use them if and only if i tell u to do it. First warning.
7- HOW DO I REPORT A NON WORKING KEXT?
1: boot with -v debug=0x100 at darwin prompt
2: make a dump with ioreg -l > dump.txt
3: after having a panic, take a picture of the screenshot (I need to read every character, so make sure the screen fits the picture)
4: atach dump.txt and the picture of the screen into this topic and wait for my answer (sometimes other users might help)
8- I HAVE LOTS OF INFO DISPLAYED ON BOOT AND LOGS. LOTS AND LOTS OF INFO EVERY SECOND. WHAT'S GOING ON?
RTFF. You've been warned.
If you need some help, or have some comments, or find some bugs, just post in this thread.
Here's what we've got so far:
JMicronATA: v0.6 Working
AppleVIAATA: v0.2 Working
AppleNForceATA: v0.1 Working (?). Some may have issues with DVD drives. Some may have issues with voodoo kernel
AppleATIATA: v0.1 Not tested, waiting.
stmiller has compiled these kexts with Tiger (10.4.8) in case someone is using 10.4. He only tested AppleVIAATA.kext.
DON'T USE DEBUG KEXTS UNLESS I TELL YOU TO DO IT. This is the second and last warning.
Downloads:
All the kexts here!
