If I stick with this requirement that the VGA roms get supported by an external ELF piece, I have to do this:
linuxbios -> external ELF bit that does VGA ROMs -> some other bit that loads linux from flash -> linux
I tend to agree with Sone that much of these functions should be seperated into ELFs, but I did so on the assumption that we had a framework to return to LinuxBIOS already. Is that still in the works? It seemed to me like a utility such as Steven James' Bare Metal Toolkit, which seeks out ELF images in ROM could then execute them in order:
linuxBIOS -> VGA Search and Init ROM ELF <- Back to linuxBIOS linuxBIOS -> Polled IDE & File Systems Support ELF Success: -> Linux Failure <- Back to LinuxBIOS LinuxBIOS -> Etherboot tftp boot ELF Success: -> Linux Failure <- Back to LinuxBIOS LinuxBIOS -> Last Ditch Effort Floppy Boot ELF Success: -> Linux Failure <- Back to LinuxBIOS LinuxBIOS out of options and says so.
All of that could fit in a 256KB part while providing several fallbacks and choices. And it still serves a purpose when EEPROMs are big and roomy, as tasks like a VGA Seek and Init ELF can perform their task without getting LB2 dirty before going to Linux. The complexity of returning to LB to then execute the next ELF image seems trivial next to maintaining polled ide, floppy, INT15, and all these other features right in LB.
Thanks for concideration before flames :)
- Adam Agnew