This is an old revision of the document!
====== Michael Decker: Driver Development ====== ==== Week B ==== ---- === 06 August === More work on 3c59x done the past two days. I haven't thrown in through the compiler yet, but that's next. I still need to rework the timers. * [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=80e01b840fb3888c046361788f048355bc98c6fa|[Drivers-3c59x] More linux -> gPXE changes]] * [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=e51923fce0ce59120889317fe4134f673fba2b16|[Drivers-3c59x] printk -> DBG]] * [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=d557d94d4e3e3b49330e6f013831a996ab5904c5|[Drivers-3c59x] Removed stats code]] * [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=26e4b5dfe2f23da099113d4f45faab9022de6e5d|[Drivers-3c59x] Removed ethtool support]] * [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=3605cbd396bc173a9639899788130617b85bf6a5|[Drivers-3c59x] MAC address handling, compaq_net_device support]] * [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=418a4b9067d518e06702f13baa12e99a58dbce7f|[Drivers-3c59x] Removed #ifdefs]] === 09 August === Additional changes to 3c59x. It now successfully compiles. I have not yet tested it, and I anticipate additional changes in doing so. * [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=a0f736c4f2c5e417a83adace3126fbede0f62dd3|[Drivers-3c59x] Removed EISA support]] EISA support code was removed as per mcb30's recommendation during our Friday meeting. This will reduce the image size and simplify conversion. * [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=f495d70763d49bd311be75d4cbd9ddf3e446b3de|[Drivers-3c59x] Removed linux timer code]] Timer-dependent code was replaced with code occasionally triggered during a poll() call. * [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=216284aa47374397ebbc059b5c5e322df7fbc31c|[Drivers-3c59x] Removed work-limiting variables]] Interrupt functions, set to call during poll()s, had checks to limit the amount of work performed during a single call. I pulled out the code for now, as I consider it unnecessary. * [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commit;h=e68d86b229c78aa270de3480e93a011b2e189159|[Drivers-3c59x] Compiles. Added mii.c, modified pcnet32 & sundance]] Select MII structures, code, and definitions were pulled into the tree. The pcnet32 and sundance drivers had their own local mii_if_info definitions causing collisions, so these were commented out. Significant amounts of additional small changes were made to adjust the code to gPXE, including datatypes, prototypes, gPXE structs and calls, casts, trimming out unnecessary debug prefixes, removing IRQ-related code, etc. Many changes due to migrating ''if_port'' from the net_device to the private struct, and fixing debug print characters because of changes in data types. Next on my agenda is to test the code and perform debugging. I also will go through the debug statements and adjust their statement levels as necessary.