* Kevin O'Connor kevin@koconnor.net [040610 06:09]:
If I understand your proposal correctly, one of the major issues will be ensuring that the payloads don't step on each other or linuxbios when they run.
Yes, mostly. They must not overwrite LinuxBIOS in memory. And there needs to be a mechanism within linuxbios that allows to execute many of them.
Wouldn't it be simpler to just link linuxbios and all the payloads together at compile time? Essentially, that is what your proposal is doing, except it does it at run time.
It actually would be simpler, yes. But as far as I understood the common discussion here, people prefer having a strict border between linuxbios and it's payloads.
So, couldn't an __init tag be created (a la linux) that marks functions to be run prior to the bootloader. With this feature, modules could then be created entirely separate from the linuxbios core that just define a single __init entry point. A simple post-build script could then collect all the user's modules, scan them for __init functions, create a stub function that executes the __init functions, and then link the whole mess into the final linuxbios target..
The above seems functionally equivalent to me, but conceptually simpler; did I miss something?
Functionally it is equivalent, yes.
Stefan