segher at kernel.crashing.org
Fri Jun 15 13:12:09 CEST 2007
> 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
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.
More information about the coreboot