kocoman Posted August 10, 2010 Share Posted August 10, 2010 What about the pps fixed "out of 32b" KP in this thread http://www.insanelymac.com/forum/index.php?showtopic=206494 sulphide didn't release his source of the patch.. so I could not patch myself, then add your "void AppleNForceATA::activateDMAEngine(void)" function sulphide's does not support 64bit (because of the missing function), but it does not panic anymore on >3gb ram Link to comment Share on other sites More sharing options...
Guest sincro77 Posted May 10, 2011 Share Posted May 10, 2011 So no 32b boundary fix -for over 4 gigs of ram with sata dvd working then? What about the pps fixed "out of 32b" KP in this thread http://www.insanelymac.com/forum/index.php?showtopic=206494 sulphide didn't release his source of the patch.. so I could not patch myself, then add your "void AppleNForceATA::activateDMAEngine(void)" function sulphide's does not support 64bit (because of the missing function), but it does not panic anymore on >3gb ram Link to comment Share on other sites More sharing options...
Ranzer Posted July 28, 2011 Share Posted July 28, 2011 I have an EVGA 680i board (MCP55) and decided to test out this kext. Upon booting, I noticed that it had an unresolved symbol for “__ZN14AppleNForceATA17activateDMAEngineEv”. I took a look at the included source code and saw that AppleNForceATA::activateDMAEngine() did not exist. This was a simple fix. activateDMAEngine() comes from IOPCIATA, so I looked at Apple's source and simply copied their function: void AppleNForceATA::activateDMAEngine(void) { // clear error bit prior to starting. *_bmStatusReg = (UInt8) mBMStatusError | mBMStatusInt | (_currentCommand->getUnit() == 0 ? mBMStatusDrv0 : mBMStatusDrv1); OSSynchronizeIO(); // set the address pointer. *_bmPRDAddresReg = OSSwapHostToLittleInt32((UInt32) _prdTablePhysical); OSSynchronizeIO(); // activate the DMA engine. UInt8 theCommand = (_currentCommand->getFlags() & mATAFlagIORead) ? mBMCmdStartInput : mBMCmdStartOutput; *_bmCommandReg = theCommand; OSSynchronizeIO(); } I compiled it and it loaded with no problem and works just fine. Darwin Ishimura.local 10.4.0 Darwin Kernel Version 10.4.0: Thu Jul 29 00:26:49 EDT 2010; dopefish:xnu-1504.7.4/BUILD/obj/RELEASE_X86_64 x86_64 I'm also using my own kernel based on the legacy patch, but without all the SSE3 emulation and rtclock stuff since I'm on a Core 2 Duo and don't need it. Edit: This likely doesn't fix SATA DVD drives. All I did was take AnV's driver above and make it load under 64-bit. Any chipset support or features would have been provided by him (or in the original MeDevil drivers). Thanks This is the only version I have found that works under Lion.. I was in the middle of trying to build it myself when i got the missing symbol message and found this post. Thanks for saving me the work and headscratching Link to comment Share on other sites More sharing options...
pyrates Posted August 7, 2011 Share Posted August 7, 2011 Thanks This is the only version I have found that works under Lion.. I was in the middle of trying to build it myself when i got the missing symbol message and found this post. Thanks for saving me the work and headscratching This works for me under Lion too. Glad I found it. Link to comment Share on other sites More sharing options...
Meowthra Posted January 1, 2015 Share Posted January 1, 2015 TEST ON OSX 10.7.5 Lion i386 kernel AppleNForceATA_Test 1.0.3 by MeDevil SATA DVD Works. But 32-bit Only. and No Source Release AppleNForceATA 1.0.4 SATA DVD No Works. I use IORegistryExplorer Open View. There seems little difference. AppleNForceATA_Test 1.0.3 IODVDBlockStorageDriver -> ASUS DRW-24D3ST Media -> IODVDMediaBSDClient 「DVD-ROM Name」Media Value: Leaf Boolean = True Open Boolean = False AppleNForceATA 1.0.4 IODVDBlockStorageDriver -> ASUS DRW-24D3ST Media -> IOGUIDPartitionScheme 「DVD-ROM Name」Media Value: Leaf Boolean = False Open Boolean = True this in Linux (Ubuntu) HW info # dmesg | grep ATA [ 0.223632] ACPI: PCI Interrupt Link [LATA] (IRQs 20 21 22 23) *0, disabled. [ 1.445444] ata1: SATA max UDMA/133 cmd 0xd000 ctl 0xcc00 bmdma 0xc480 irq 21 [ 1.445509] ata2: SATA max UDMA/133 cmd 0xc880 ctl 0xc800 bmdma 0xc488 irq 21 [ 1.446225] ata3: SATA max UDMA/133 cmd 0xc400 ctl 0xc080 bmdma 0xb880 irq 20 [ 1.446290] ata4: SATA max UDMA/133 cmd 0xc000 ctl 0xbc00 bmdma 0xb888 irq 20 [ 1.447253] ata5: PATA max UDMA/133 cmd 0x1f0 ctl 0x3f6 bmdma 0xffa0 irq 14 [ 1.447318] ata6: PATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xffa8 irq 15 [ 1.927325] ata1.00: ATA-8: Hitachi HDS721050CLA660, JP2OA50E, max UDMA/133 [ 1.943440] scsi 0:0:0:0: Direct-Access ATA Hitachi HDS72105 JP2O PQ: 0 ANSI: 5 [ 2.739604] ata4.00: ATAPI: DRW-24D3ST, 1.01, max UDMA/133 [ 1.918998] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300) [ 2.265446] ata2: SATA link down (SStatus 0 SControl 300) [ 1.777105] ata3: SATA link down (SStatus 0 SControl 300) [ 2.731510] ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 300) Link to comment Share on other sites More sharing options...
Recommended Posts