2.) LinuxBIOS can currently execute one payload. For greater flexibility and isolated development cycles of the firmware related code parts/projects LinuxBIOS should allow payload chains, ie. executing multiple payloads one after the other.
LinuxBIOS wants to keep up it's modularity, letting each module do it's job. This possibility of not doing more than one task should be passed on to the payloads.
Stepping back a moment. I see the line at elfload is that the hardware is sufficiently initialized that we can run stand-alone programs.
Motherboard specific information should be passed between the BIOS and the OS which allows a general purpose OS to be built that does not need to know how each chip is hooked up on each motherboard.
The only argument I have seen for payload chaining is testbios. I do not see a reason to exclude this from LinuxBIOS. It fits in nicely as an init method for a generic pc compatible vga device. As long as this code can be compiled out for those boards that don't have a slot you can plug in a vga compatible card into all is good.
As the discussion has shown multiple payloads are one form of runtime service and we once we add one a whole lot more are wanted.
....
My take on runtime services is if they are provided at all they belong in their own personality/bootloader. If you want the ability to switch personalities it is simple enough to add an elf loader to load other personalities.
Eric