Re: [Etherboot-developers] On disk drivers and other things...
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: <ebi...@ln...> - 2002-06-18 21:29:55
|
ke...@us... (Ken Yap) writes: > >- Size limitations. Currently etherboot is limited to just 64K. And > > while that is fine if it is just booting off one nic. Going the > > full general purpose route is more difficult. And I like to be able > > to have a build with all of the etherboot drivers included. So this > > pretty much requires some deep architecture work, to go bigger. I > > was hoping to avoid this oh, well. > > The one rejig that would help a lot is to convert the calls to 16 bit > PCBIOS from inline calls to general calls. This would remove the need > for the 32 bit stack to live in the same 64kB as the code. Then I could > for example, move Etherboot to start at 0x84000, and take all 112kB > (minus anything taken by the BIOS) up to 0xA0000. In fact, with memory > so abundant, one could declare all of the lower 640kB fair game when > loading bzImage Linux. I realise you're targeting LinuxBIOS, but > freeing PCBIOS calls from this limitation would allow both to move ahead > together. It would also help Etherboot to be moved to top of memory with > an interface stub in low memory later. Possibilities widen here, > dynamic loading of modules, etc. LinuxBIOS is the primary, but I can always use etherboot, so I've been considering both cases. The the work basically looks like an interface stub in low memory for the PCBIOS, and if possible moving the rest of etherboot to the top of memory. I guess these can be done as seperate steps. Which helps. On the LinuxBIOS side I also need to work on a decompressor. The problem with my current relocator code, is that it winds up building a string table of all global variables. Great if you really are a shared library, but when noone is dynamically linkingo to you it is something that is just useless baggage, and pushes the code size up. For the LinuxBIOS case I really don't have a problem with that, I have the better part of a 4Mbit == 256K Rom I can fill. For the normal etherboot I think the excess size may be prohibitive. Eric |