Hi Myles,
On Mon, May 12, 2008 at 12:38:20PM -0600, Myles Watson wrote:
Note that the payload likely wont work on real hardware - see my previous email on legacybios and coreboot.
[...]
BTW, have you listed the board-specific components anywhere? I don't remember seeing one.
I was referring to the email at:
http://www.coreboot.org/pipermail/coreboot/2008-May/034254.html
[...]
Should we make an option to build just the 16-bit version of the BIOS. It seemed more forgiving on real hardware. It seems like there is a lot more that is board-specific in the 32-bit version.
Currently the "post" section is compiled in 32bit mode. This "post" stage includes initialization of the bios working storage area, so we can't entirely skip it.
Instead of moving more code to 16bit mode, I think we should just have options to leave out unwanted features. For example, disabling the call to rombios32_init() in post.c should stop the pcibios init, acpi table creation, and smbios table creation.
- Memory map
- ACPI tables
- Boot configuration settings (CMOS settings in Bochs)
...
It seems like it would be nice to be able to separate the board-specific information into files that could be read in at build time. It would also be nice to be able to configure the boot order, etc.
I'm looking for feedback on exactly the above. 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.
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.
-Kevin