Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changes between Initial Version and Version 1 of Ticket #187


Ignore:
Timestamp:
2010-02-21T20:50:00Z (12 years ago)
Author:
Jakub Jermář
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #187 – Description

    initial v1  
    22
    33 Details::
    4  The new driver should be realized as a module which plugs itself into the HelenOS networking stack and implements the network interface card interface in the NE2000 specific way.
     4 The new driver should be realized as a module which plugs itself into the HelenOS networking stack and implements the network interface card interface in the NE2000 specific way.
     5
     6 As the various NE2000 clones are expected to be quite similar, the driver should be NE2000-generic when possible in order to support a greater scale of NE2000-based network interface cards.
    57
    68 What Gains and Benefits will this bring?::
    7  The HelenOS networking stack actually comes with a driver for a NE2000 clone borrowed from MINIX 3 which was adjusted to compile on HelenOS. The problem of the MINIX 3 driver is that it was not written with 64-bits in mind. This is not a problem on a 32-bit MINIX 3, but is a problem on a multiplatform 64-bit system such as HelenOS. The MINIX 3 also has a different view on how to do I/O with the device, so mixing the MINIX 3 and HelenOS code results in a somewhat bizarre hybrid. Needless to say, a clean native implementation is much better than a whimsical hybrid.
     9 The HelenOS networking stack actually comes with a driver for a NE2000 clone borrowed from MINIX 3 which was adjusted to compile on HelenOS. The problem of the MINIX 3 driver though is that it was not written with 64-bits in mind. This is not a problem on a 32-bit MINIX 3, but is a problem on a multiplatform 64-bit system such as HelenOS. The MINIX 3 also has a different view on how to do I/O with the device, so mixing the MINIX 3 and HelenOS code results in a somewhat bizarre hybrid. Needless to say, a clean native implementation is much better than a whimsical hybrid.
    810
    911 The clone supported by the MINIX 3 driver is dp8390. For HelenOS, this is an important network interface card thanks to its large incidence in the real world and also in various simulators such as Qemu. As of now, it is the only NIC supported by HelenOS besides the loopback device.
     
    1315
    1416 Required skills::
    15  A successful applicant will have good skills of programming in the C language and the ability to learn and use HelenOS specific I/O functions. A successful applicant should have a fair understanding of the workings of the networking stack too
     17 A successful applicant will have good skills of programming in the C language and the ability to learn and use HelenOS specific I/O functions. A successful applicant should have a fair understanding of the workings of the networking stack too.
    1618
    1719 Documentation::
    18  
     20 The architecture of the HelenOS network stack is described in Lukas Mejdrech's [http://www.helenos.org/doc/theses/lm-thesis.pdf master thesis]. The DP8390 card is documented in a document linked from the [DeveloperDocs#Peripherals Peripherals] section of our Developer Docs page.