There is some network driver API documentation at
http://etherboot.org/wiki/soc/2008/mdeck/notes/gpxe_driver_api and
http://etherboot.org/wiki/dev/netdriverapi
If you look at the current driver you will notice that is still using
the deprecated etherboot API. Yet another reason for a rewrite :)
Unfortunately we don't have much more documentation about drivers, but
the r8169.c driver in gPXE in my opinion is a good example driver.
Chapter 17 of the book 'Linux Device Drivers' is very useful too:
http://lwn.net/Kernel/LDD3/
the gPXE network driver and PCI API is basically a simplified version
of the linux API, so many things still apply. It will also help to
understand the linux tg3 driver better.

Thanks and good luck
Thomas

On Sat, Nov 21, 2009 at 12:55 AM, Nick Couchman <nick.couch...@seakr.com> wrote:
>>>> On 2009/11/20 at 16:45, Thomas Miletich <thomas.milet...@gmail.com> wrote:
>> Hello Nick
>> as you have noticed the current tg3 driver in gPXE is very
>> out-of-date. The driver in linux mainline supports around twice as
>> many cards as the gPXE driver. You will probably have to backport many
>> special cases and PHY support functions.
>
> Yeah, I noticed that - doesn't look like tg3 has gotten a lot of attention in 
> the gPXE development process.  Maybe I can help that :-).
>
>>
>> Depending on how much time you are willing to invest, I think a
>> complete re-port of the current linux driver and completely dropping
>> the current gPXE one is worth considering. There are also some bugs
>> with cards that are actually supposed to work. It's not unlikely that
>> you run into some of them too.
>
> I wondered if this might be the answer...so maybe I'll give it a shot.  Any 
> idea off the top of your head what the main differences are between the Linux 
> kernel drivers and the gPXE drivers?  Obviously things like module code and 
> such, but any other hints would be appreciated.
>
>>
>> undionly.kpxe should work, if it is loaded by the tg3's PXE rom.
>
> Will give it a shot.  I'd really like to flash the Broadcom PXE code with 
> gPXE on these Optiplex units, so building in support I think is the only 
> thing that will really work in the long run.
>
>>
>> Driver questions are often better answered interactively, please feel
>> free to join #etherboot on irc.freenode.net. There are some people
>> than can help with drivers.
>
> I'll keep this in mind - unfortunately the time I can spend on things like 
> this is often sporadic, and I can't always sit down and work for hours at a 
> time, so interactive help often doesn't work real well for me.
>
> Thanks - Nick
>
>
>
> --------
> This e-mail may contain confidential and privileged material for the sole use 
> of the intended recipient.  If this email is not intended for you, or you are 
> not responsible for the delivery of this message to the intended recipient, 
> please note that this message may contain SEAKR Engineering (SEAKR) 
> Privileged/Proprietary Information.  In such a case, you are strictly 
> prohibited from downloading, photocopying, distributing or otherwise using 
> this message, its contents or attachments in any way.  If you have received 
> this message in error, please notify us immediately by replying to this 
> e-mail and delete the message from your mailbox.  Information contained in 
> this message that does not relate to the business of SEAKR is neither 
> endorsed by nor attributable to SEAKR.
>
_______________________________________________
gPXE mailing list
gPXE@etherboot.org
http://etherboot.org/mailman/listinfo/gpxe

Reply via email to