Table of Contents
Andrei Faur: Device driver implementation
Project Plan
Summary
The aim of this project is to implement a driver for a currently unsupported NIC either by writing one from scratch or by porting an already existing open-source implementation.
Milestones and Timeline
- Week 1
- Figure out NIC's control / state registers.
- Create driver skeleton by defining interfaces, registers.
- Weeks 2 - 5
- Implement functionality by writing code for the interfaces. Define subroutines as necessary.
- Start with open / close / irq as these usually require setting different control registers. This is good for an early stage when data structures are set up and incomplete
- Finally poll / transmit which make full use of previously defined data structures
- Week 6
- Refactoring / debugging. Try to create as many scenarios as possible so any of the NIC's bugs will surface.
- Week 7 - 12
- Depending on how things evolved up to this point, this stage either requires fixing bugs and implementing missing functionality or perhaps tackling a new driver or some other contribution to the project.
- Finish documentation