[gPXE-devel] [PATCH] [jme] Adding JMicron Ethernet driver
Guo-Fu Tseng
cooldavid at cooldavid.org
Mon May 31 12:04:05 EDT 2010
On Mon, 31 May 2010 11:05:14 -0400, Marty Connor wrote
> On 5/31/10 9:08 AM, Guo-Fu Tseng wrote:
> > On Sat, 29 May 2010 16:27:55 +0100, Michael Brown wrote
> >> Yes. Take a look at something like drivers/net/b44.c, and the
> >> b44_rx_refill() function.
>
> > In summary, it gPXE will never call poll depend on interrupt.
> > I belived it would help on extreme low memory status to modify
> > it to the behavior Michael Brown suggested. :)
>
> The driver structure above is common to many gPXE device drivers and is
> recommended for the reasons that Michael mentioned and that you have
> verified.
>
> One nice feature of the gPXE driver API is its simplicity. Once you
> understand the reasons for some of its design decisions, those
> decisions make more sense.
>
> An exercise that I sometimes assign to GSoC students is to do a call
> tree by hand for a few gPXE network drivers.
>
> Here are two such call trees done by a GSoC student from last year:
>
> http://etherboot.org/wiki/soc/2009/asdlkf/notes/rtl8169.c
> http://etherboot.org/wiki/soc/2009/asdlkf/notes/3c90x.c
>
> In particular, please note that in both cases a call to
> _refill_rx_ring() occurs in the open() routine and later via _poll().
>
> While one could certainly do such a tree using a software tool ( for an
> example see: http://etherboot.org/wiki/doc/codeviz ), I find that doing
> them by hand is often more beneficial for new gPXE driver writers.
>
> You have made excellent progress with the JMicron driver, and with this
> modification and associated testing we look forward to merging your
> code into gPXE soon.
>
> Many thanks for your fine work!
>
> / Marty /
I see.
As I recently heard from Michael Brown: Consistency is a good thing!
And this behavior make sence.
I'll modify it to let it behaves like other drivers. :)
Guo-Fu Tseng
More information about the gPXE-devel
mailing list