====== Week 1 ( May 23 - May 29 ) ====== ====== Day 1 ( May 23 ) ====== * Compile linux kernel from top-of-git code * Push (unmodified, as of yet) linux working tree to [[http://git.etherboot.org/people/meteger/linux-2.6/.git/|etherboot server]] * Understanding how tg3 probe, open, PHY, etc functions work, read relevant parts of the [[http://www.broadcom.com/support/ethernet_nic/open_source.php|datasheet]] * Make minor modification to tg3.c, compile and load module to get used to the process of compiling/testing kernel modules ====== Day 2 ( May 24 ) ====== * Todo: Add Journal for Day 2 ====== Day 3 ( May 25 ) ====== * More datasheet and code reading about descriptor ring handling, receive/transmit, offloading functions * Completely unexpectedly discovered another tg3 test machine. I have 4 cards to test with now. * Removed ethtool support functions. Tested on 2 machines. Reduces lines of code by almost 2000 lines. Yay. * Started removing of checksum-offloading functions. Not yet pushed, as it's unfinished. * Created new [[http://git.etherboot.org/people/meteger/mytg3/.git/|Driver-only Repository]]. Easier to pull than a full kernel tree. ====== Day 4 ( May 26 ) ====== * Removed support for DMA addresses > 4GB * Removed workarounds needed on some variants for DMA addresses > 4GB * Removed power management functions * Started removing dependency on kernel's phylib. Luckily I have a card variant that uses the phylib in normal operation. * Brush up knowledge about memory barriers