[Barrelfish-users] i825xx, a new e1000 driver.

Kornilios Kourtis kornilios.kourtis at inf.ethz.ch
Tue Feb 26 16:31:20 CET 2013

Hi Mateusz,

Thanks for your patch!

I'm inlining some comments below.

On Mon, Feb 25, 2013 at 07:25:09PM +0100, Mateusz Olczak wrote:
> Hello every body,
> After much issues with the existing e1000 network card driver I began
> work on updating it.  As the changes became big I decided to fork the
> source code and for development purposes call the driver i825xx after
> the chipset family name of the e1000/Intel Pro/1000 family cards.
> The i825xx driver is freely based on the existing e1000 driver
> net_queue_manager code, however I took liberties in renaming stuff,
> removing uncommented code and did other minor changes. However, the
> hardware initialization code is pretty much new.  If this new codes
> gets accepted I suppose the driver should be renamed back to e1000 and
> replace the current one.

It could be really helpful if you could provide a short list of problems
with e1000 and how are these solved in i825xx.

> I've tested the driver to work under Simics and Qemu, but mostly worked
> with it under Simics using a Simics to LAN bridge.  If you wish to know
> how to set up a Barrelfish to LAN or localhost bridge under Simics
> please do drop me a mail and I will send you the relevant script and
> instructions.

Having instructions for setting up Barrelfish with simics sounds very
useful. We don't currently use simics, but it might be helpful in the
future or for other people. If it's not too much trouble, can you
register for an account in http://wiki.barrelfish.org/, and add the
instructions there?

> There are still some minor changes to be made, such as providing in
> driver help, adding helpful messages with out debugging mode and
> figuring out how to improve the NIC detection.  As the driver is based
> much on tested code I believe this driver to be stable enough for
> public testing. Feedback would also be appreciated.

OK, we will have a look and see how it goes. One caveat might be that
there are some pending updates to the network stack, and I'm not sure if
there are changes that affect the driver.

> I've attached the driver as a diff that may be applied as a patch
> against the current mercurial source tree.  The diff also contains a
> small program called lshw to list detected PCI/PCIe hardware by kaluga,
> fix for a minor bug in net_queue_manager/frag.c and an old regression
> that made the existing tulip driver not compilable.

I'm not sure about moving the tulip driver to the Mackerel 1 device
descriptions, but lshw and frag.c fix look good with a first look.

> So, please feel free to read the driver README.txt, test driver out and
> provide feedback.


Kornilios Kourtis

More information about the Barrelfish-users mailing list