This is an old revision of the document!


Day 1 ( June 27 )

In yesterdays weekly meeting we decided to split the driver into several .c files. I started splitting the driver into tg3_hw.c which contains all the low-level NIC hardware access functions, and tg3_main.c which contains all the code that directly interacts with gPXE(e.g. tg3_open, tg3_transmit, etc).

I also added all the PCI IDs from the linux driver to the gPXE driver. This was done by adding a macro definition to the linux driver:

#define str(s) rem#s

#undef PCI_DEVICE

#define PCI_DEVICE(vendor, device) ( PCI_ROM(vendor, device, str(vendor)str(device), str(vendor)str(device), 0) )

and compiling the code with gcc -E, which only runs the C preprocessor. Use find and replace to get it into a more polished form.


QR Code
QR Code soc:2011:meteger:journal:week6 (generated for current page)