Jump to content

AppleNForceATA 1.0.4 optimized for SL 32/64bit


  • Please log in to reply
28 replies to this topic

#1
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,691 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...
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.co....ceATA_Snow.zip
Built kext is under build/Release.

Enjoy...

#2
nadum35

nadum35

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 3 posts
Hi Andy ... link does not work... please check

#3
GFOnyX

GFOnyX

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 133 posts
  • Gender:Male
Does it fix the Sata DVD problem that Medevil's kext has?

#4
librarain

librarain

    InsanelyMac Protégé

  • Members
  • Pip
  • 12 posts
  • Gender:Male
  • Location:China PRC
  • Interests:Tour, Photography, Blog.

Hi Andy ... link does not work... please check


here:
http://rapidshare.co...rceATA_Snow.zip

works great !
Posted Image

#5
CrimsonAngel

CrimsonAngel

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 103 posts
  • Gender:Male

Does it fix the Sata DVD problem that Medevil's kext has?

I would like to know this as well.

#6
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,691 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

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

#7
nadum35

nadum35

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 3 posts
Many thanks Andy... tried several times in x64 does not work for me, got stuck in looking for boot device... but working in x32 and dvd drive still no working... :P


my spec: dell xps 730 with 2 x nivida 9800GX2, dual boot win7 and snow 1.6.2

#8
ehh

ehh

    InsanelyMac Protégé

  • Members
  • PipPip
  • 57 posts
Not working on the following system:
NForce 680i, SATA HDD, SATA DVDRW, 10.6.2

Stuck at "Waiting for boot device"

#9
marcusj0015

marcusj0015

    InsanelyMac Protégé

  • Members
  • Pip
  • 6 posts
  • Gender:Male
does this support Nforce 410/6100 amd sempron?



and does it work in leopard?



i cant get snow leopard to work



if you know a snow distro that would work for this computer please tell me!

#10
icedtrip

icedtrip

    InsanelyMac Protégé

  • Members
  • PipPip
  • 69 posts

and does it work in leopard?


I was curious about the same, so I just tried it out. It's a no go on Leopard. It won't even load. I have yet to try to get SL up and running, but will hopefully have a chance to this weekend.

#11
scififan68

scififan68

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 153 posts
  • Gender:Male
Hello Andy, Your kext does not load in full 64bit mode on my Inpsiron 531, when i tired to load it, it failed to see my sata said something about ActivateAppleNForceDMAEngine.

#12
RaMDaY

RaMDaY

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 184 posts
  • Gender:Male
  • Location:New York City
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.

#13
Nick Savage

Nick Savage

    InsanelyMac Protégé

  • Members
  • PipPip
  • 66 posts
  • Gender:Male
  • Location:Wisconsin
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.••••••••••••

#14
imk

imk

    InsanelyMac Protégé

  • Members
  • PipPip
  • 55 posts
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).

Attached Files



#15
RaMDaY

RaMDaY

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 184 posts
  • Gender:Male
  • Location:New York City
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.



#16
scififan68

scififan68

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 153 posts
  • Gender:Male
Working here, although too bad Im on amd. :) Nice work anyways. Edit: Oh and here's the 32bit and 64bit patched ioatafamily.kext patched for fast boot times.

#17
taga

taga

    InsanelyMac Protégé

  • Members
  • Pip
  • 25 posts
  • Gender:Male
Working nforce MCP79 chipset ?
:(

#18
taga

taga

    InsanelyMac Protégé

  • Members
  • Pip
  • 25 posts
  • Gender:Male

Working nforce MCP79 chipset ?
;)





Not working on the following system:
NForce MCP79 , SATA HDD, SATA DVDRW, 10.6.4

Stuck at "Waiting for boot device"

#19
verdant

verdant

    InsanelyMac V.I.P.

  • Gurus
  • 5,601 posts
  • Gender:Male
  • Interests:At home, I have the following computers......
    >
    >
    >

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

#20
mingzhi

mingzhi

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 3 posts
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).







2 user(s) are reading this topic

0 members, 2 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