On Mon, May 12, 2008 at 03:36:29PM -0400, Kevin O'Connor wrote:
There are several ways to support per-board info in "legacybios":
Have legacybios populate the information:
By a) compiling legacybios on a board by board basis with info for each board merged into the compile process
or b) have the info passed to legacybios from corebios in some raw format, and then have legacybios build the PC specific tables from it
or, have coreboot build the PC specific tables:
and c) put them somewhere in memory where legacybios can then copy it to the 0xf0000 segment
or d) work out some arrangement where coreboot puts them into 0xf0000 in such a way that legacybios doesn't overwrite those areas when it is also loaded into that segment.
I strongly prefer b) above over anything else. I specifically do not want coreboot to know about BIOS tables. coreboot already exports some information. If legacybios needs more information, let's add that to the coreboot tables.
As you also mention, there are some useful configuration items (eg, boot order and floppy drive type). We can either:
a) have coreboot select and configure this and pass the info to legacybios in some way
or b) have legacybios set it in the cmos and present a menu during boot where the user can change the options (eg, "Press [DEL] to enter bios setup".
I'm looking for feedback from the coreboot developers on what the best answers to the above questions are.
Likewise I prefer a) here.
On a related note I would like to request that we try hard not to touch NVRAM at all unless it is absolutely neccessary.
coreboot needs zero negative impact on previously working systems. Currently v2 will overwrite the NVRAM, making it difficult to switch back and forth between factory BIOS and coreboot in an effortless manner. :\
//Peter