Jump to content

Marvell Support Effort


  • This topic is locked This topic is locked
222 replies to this topic

#1
mortis

mortis

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 160 posts
Well...

Here are the sources to start developing a driver for Marvell-Yukon, Syskonnect and other NICs

The other thread was going nowhere

Please post on advances, and not requierements on how much you need this driver!

Good Luck.

EDIT: added sources from NetBSD4

Attached Files



#2
jegabla

jegabla

    InsanelyMac Protégé

  • Members
  • PipPip
  • 59 posts
Apple Network Kernel Extensions Programming Guide:

http://developer.app...P40001858-CH225

#3
MadHorab

MadHorab

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts
As I said in the other post, I can host the driver :)

#4
altaic

altaic

    InsanelyMac Protégé

  • Members
  • Pip
  • 14 posts
That network kernel extensions development guide link is broken. Here's a valid one.

#5
altaic

altaic

    InsanelyMac Protégé

  • Members
  • Pip
  • 14 posts
I'm a few hundred lines into writing a driver for the yukon (I started it tonight). This is my first device driver, and the apple frameworks require sifting through dev docs, so it may take awhile. Also, I happen to be a student who prioritizes his studies over personal projects, so be patient. I'll post updates here periodically.

Will

#6
eightballbill

eightballbill

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
Thanks Altaic. If you have time, could you explain or give us some link about how to port drivers from BSD to darwin?

#7
altaic

altaic

    InsanelyMac Protégé

  • Members
  • Pip
  • 14 posts
It depends entirely on the device. There's a USB example with the ADC Reference Library, as well as a PCMCIA one. There are several audio examples, also. Since plain old PCI doesn't have any examples, I read the Writing PCI Drivers doc, among others I searched for in the ADC.

Basically, one has to write it from scratch, since the code structure is quite different from Apple's frameworks. Reference the other ports, certainly, for things like registers and such. There are sometimes notes about hardware bugs and workarounds, too. So, I guess what I'm saying is that when you sit down to port a driver, you should prepare yourself to write the thing from the bottom up. There is no simple method, of which I am aware.

When I am sure I have the foundation of the driver correct, and I have the licensing {censored} figured out, I'll post what I've done, so others may fill in the gaps if they so choose.

Will

#8
aitikin

aitikin

    InsanelyMac Protégé

  • Members
  • PipPip
  • 73 posts

When I am sure I have the foundation of the driver correct, and I have the licensing {censored} figured out, I'll post what I've done, so others may fill in the gaps if they so choose.


Cool, thanks for your work. I unfortunately can't code very well but I'm praying someone will figure it out soon. This is the one thing left before I can move my primary OS to OS X.

#9
altaic

altaic

    InsanelyMac Protégé

  • Members
  • Pip
  • 14 posts
Jesus... The registers list just keeps going. I think I'm going to ditch my register structs and use the linux ones instead. Upon further investigation, it looks like the linux ones will work with little modification.

Will

#10
eightballbill

eightballbill

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
Which register base did you use? The BSD's one?

#11
altaic

altaic

    InsanelyMac Protégé

  • Members
  • Pip
  • 14 posts
Yeah. The BSD ones are all defines which I was converting to structs, where as the linux ones are all proper structs. I need to pass a struct containing all the hardware registers into the memory-mapper, so I can directly access them.

#12
autoy

autoy

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 302 posts
Hey, this is great news! Glad this project is not dead after all :D Plase count us in for betatesting!

#13
eightballbill

eightballbill

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
How long do you think it will take to finish the driver? (i don't want to put you under pressure, just to know when you will make us happy ;-) )

#14
altaic

altaic

    InsanelyMac Protégé

  • Members
  • Pip
  • 14 posts
Well, I'm going to try to get basic features working, first, which, when I figure out how the hardware queues work, should be trivial. I'm still working on the registers. It's pretty convoluted. It'll take a while. The more code I read, the more complex and daunting this task is. One step at a time, though.

I know that didn't really answer your question, but I really don't know how long it'll take. It might take a week, or a month or more. Likely more than a week, since I have end-of-semester exams, projects, and crits.

Edited by altaic, 08 December 2005 - 05:30 AM.


#15
altaic

altaic

    InsanelyMac Protégé

  • Members
  • Pip
  • 14 posts
I've contacted Marvell, asking if they'd be so kind as to send me the whitepaper describing the registers. It would speed things up tremendously.

#16
eightballbill

eightballbill

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
What did they answer?

#17
jegabla

jegabla

    InsanelyMac Protégé

  • Members
  • PipPip
  • 59 posts
Altaic, have you considered contacting syskonnect? I think their drivers are based on Marvel Yukon chips too.

Edited by jegabla, 13 December 2005 - 09:03 AM.


#18
mortis

mortis

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 160 posts
I did contact syskonnect 1-2 months ago. They replied that OSX driver are not opensource so they wouldnt releasethem, and x86 platform was not a target for them at that point.

It may be worhtwhile trying to contact the again though.

#19
eightballbill

eightballbill

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
Altaic? Are you there?

#20
altaic

altaic

    InsanelyMac Protégé

  • Members
  • Pip
  • 14 posts
Marvell did not respond. Additionally, I'm really busy with exams and such, and then I plan on taking a break for a week or so, so I won't be doing any development for some time.





0 user(s) are reading this topic

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