Jump to content
30 posts in this topic

Recommended Posts

Same as AppleATIATA I made...

It has no deprecation nor warnings and has correct dependencies for loading out in 32 and 64 bit mode.

If the other drivers didn't work for you in 64 bit mode, try this one...

 

Download including sources:

http://rapidshare.com/files/35627618...ceATA_Snow.zip

Built kext is under build/Release.

 

Enjoy...

I would like to know this as well.

It should yes... it uses routines from AppleIntelPIIXATA (latest version, new style ATA driver coding).

I however have no nForce chipset mobo around so no way to test it...

I would say test it, it should work fine (I made this one for a friend).

I just tried this out these out in 32bit mode, it won't load in 64bit mode. The OSX profiler in utilities lists the sata DVD drive correctly but when I put a dvd in a drive it never detects the disc. Sata hard drives seem to be working fine.

Works just fine on my EVGA i680 based mobo under 10.6.2 in 32bit mode, now using this in place of the older 32bit only slash or anv driver i was using perviously. (All built in SATA Ports worked fine, performance was great)

 

I could not boot to 64bit mode (i have all 64bit kexts now) but i don't know that this driver is the cause of that issue or related (will plumb that later).

 

Have not tested my pata optical drive/burning (but it shows in my device lists), will test further and update this post later.

 

•••••••••••••Make sure you fix permissions/rebuilt your extensions mkext when testing before you post here about the driver not working for you, esp if your getting the root device error.••••••••••••

  • 4 months later...

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).

AppleNForceATA_Snow.zip

  • Like 1

Boots into 64bit kernal mode for me but DVD drives are not working. Nice work.

 

 

 

 

I compiled it and it loaded with no problem and works just fine.

 

 

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.

Not working on the following system:

NForce MCP79 , SATA HDD, SATA DVDRW, 10.6.4

 

Stuck at "Waiting for boot device"

 

This is because AFAIK the nForce MCP79 chipset is fully AHCI-compliant..........and so does not work with the AppleNForceATA.kext...........see post #1 in my Snow Leopard thread and post #2 in my Leopard Series nForce threads........

Thanks a lot! It works! But how can I enable 64bit? I used "arch=x86_64" or "-force64", but still got "64-bit Kernel and Extensions: No". I am using legacy_kernel v4 and an AMD system.

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 a lot! It works! But how can I enable 64bit? I used "arch=x86_64" or "-force64", but still got "64-bit Kernel and Extensions: No". I am using legacy_kernel v4 and an AMD system.

Use this kernel and boot with arch=x86_64 Picture of this kernel booted into 64bit.

This is because AFAIK the nForce MCP79 chipset is fully AHCI-compliant..........and so does not work with the AppleNForceATA.kext...........see post #1 in my Snow Leopard thread and post #2 in my Leopard Series nForce threads........

 

 

 

kext which works with MCP79? please

 

ime that has not detecting sata dvd?

Use this kernel and boot with arch=x86_64 Picture of this kernel booted into 64bit.

 

I'm trying to use this kernel but I can't get it to run 32bit apps, is it neccesary to install the system kext? I'm not using it now and it seems fine (32b)

I'm trying to use this kernel but I can't get it to run 32bit apps, is it neccesary to install the system kext? I'm not using it now and it seems fine (32b)

In 64bit mode you can't run any 32bit apps, this is due to some incompatibility with amd's cpu instructions. Also System.kext from 10.6.4 is fine with darwin 10.3.

×
×
  • Create New...