This should all be so simple.
Famous last words? ;-)
The original idea was that LB would turn on dram, call OS, done. OS would do all config space.
Really, I think LB should only do those things the OS can not possibly do. The "OS can't do" is a boundary we hoped would be very solid and immovable.
Well there's not only "OS can't do", but also "OS won't do." In theory the OS could do _everything_.
A more realistic boundary is for LB to do only the bare minimum that any system firmware should reasonably do; i.e. initialise system resources (CPUs, system busses, system controllers (north/south bridge config, superio, board-specific gpios, that kind of stuff)), and of course do "some stuff" with peripheral device the firmware itself want to use (serial port, for example).
So basically all the "core logic" and the busses "inside the box", so when you call the OS it will have a good stable well-defined starting point to work from.
In theory the OS could configure most of the system busses, but as you point out, in many cases people got way too creative in their system design so you really need to set up those busses quite a bit earlier.
Segher