====== 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