[Barrelfish-users] e1000 driver for final review and Barrelfish merge if accepted.

Mateusz Olczak mateusz at olczak.se
Tue Mar 12 17:54:01 CET 2013


Hello,

I've finished the work on the e1000 driver. All previous out standing issues have now been resolved.
The driver has been renamed from i825xx to e1000. Attached diff only contains the e1000 driver.

I here by submit the driver for final review and if accepted ask that it is merged into the Barrelfish source code.

Some of the changes are:
* e1000 driver now works under Qemu, Simics and VirtualBox.
* Extended the number of supported NICs.
* Moved the e1000 driver to Mackerel 2 interface.
* e1000n_hwinit.c:
   * e1000 driver now takes in consideration what card you have. Handles different cards more correctly.
   * EEPROM: Extended the set of cards where eeprom reads are handled correctly for that card.
     * Extended this set of supported cards.
     * Checking that EEPROM read is done.
     * Bailout and inform if EEPROM is not present.
     * New read MAC address code.
   * New card reset code.
   * MAC address: Was not programmed correctly.
   * Setting serial interface correctly for more cards. (previously same setting was made for all cards.)
   * Link auto-negotiation. (previously link type and speed was forced disregarding if it was supported by media)
   * Correctly setting hardware supported receive buffer size.
   * Setting Transmit Inter Packet Gap (TIPG) correctly for more cards.
   * Setting Interrupt Throttling to recommended values.
* e1000.dev: added register and updated various registers.
* e1000n.c: Removed uncommented code.
  * Renamed some variables and function to make clear what they do.
  * Added #ifdefine for parts that wore commented out but marked as "useful" for some purpose, such as CONFIG_MICROBENCHMARKS.
  * Added probing for card type.
  * Added help option.
  * Added comments/documentation.
  * Print of detected link speed and type.
  * Updated printing of debug messages and ordinary messages.
  * Fixed wrong max packet receive length for ethernet. (previous value was the max transmit size - They differ due to CRC)
* Other bug fixes minor.

If accepted, I would like ask whom ever it concerns to correct license disclaimers as a header to relevant files.


Kind Regards,
// Mateusz 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: e1000.diff
Type: text/x-patch
Size: 122855 bytes
Desc: not available
Url : https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20130312/c7c548b6/attachment-0001.bin 


More information about the Barrelfish-users mailing list