Re: [Etherboot-developers] Question on supporting nVidia .o driver
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: Eric W B. <ebi...@ln...> - 2002-08-21 18:12:12
|
Michael Brown <mb...@fe...> writes: > On Wed, 21 Aug 2002, Andy Green wrote: > > Over at the xbox linux project there is some discussion today about > > supporting the nVidia inside the xbox (and used on nForce motherboards) > > Ethernet controller with an etherboot driver. > > The issue is that nVidia supply a .o file containing all the goodies; it > > is believed to be quite possible to fake up something using the kernel > > network API to use this and make it believe it was a kernel driver. > > The main question is, what's the prevailing opinion about using a .o in > > this way GPL-wise. It has been suggested that we'll be okay if we do > > not distribute the .o but make our GPL project consist of everything > > but. (Because we are running on the xbox only, portability is not a > > concern). > > In addition, has anyone made such a fake kernel API shell before? Has > > anyone looked at supporting nForce motherboards? > > Aside from the legal / copyright issues, a few technical points spring > to mind: > > 1. The nVidia .o file is 20kB in size - around 4-5 times the size of most > of the Etherboot drivers. This might be enough to prevent it working > in 5.0.x (AFAICT, the memory-map changes in the 5.1.x branch will fix > this anyway). This assumes the appropriate virt_to_bus, bus_to_virt and ioremap calls are being made. Otherwise it try reading and writing to the wrong registers. > > 2. Is it possible to use the .o file to create a polling driver? > Etherboot doesn't use interrupts. Plus having code you can change is much more maintainable. > 3. As others have said, don't bother faking a kernel network API - just > take the skeleton Etherboot driver in skel.c and fill out the gaps > between that and the nVidia .o file. Eric |