[coreboot] elf payload legacybios - boots on v3 in qemu
Kevin O'Connor
kevin at koconnor.net
Wed May 14 02:51:43 CEST 2008
Hi Peter,
On Tue, May 13, 2008 at 02:59:46AM +0200, Peter Stuge wrote:
> On Mon, May 12, 2008 at 03:36:29PM -0400, Kevin O'Connor wrote:
> > * 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.
What you're proposing here is that the payload build all the standard
bios tables - mptable, pir, e820 map, smbios, acpi. I'm okay with
this - it makes sense to me. However, I didn't get the feeling there
was a general consensus that this logic should move from coreboot to
the payloads.
In any case, there is a catch with doing this - some info is unlikely
to be found in the dts (eg, the acpi aml code). This would require we
build it into the payload (or somehow get it into a segment for lar to
extract).
An alternative would be to have the payload callback into the lar
functions to extract and uncompress a segment with the info. Is this
okay for a payload to do?
> > 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.
Okay. These are configurable items though, so it naturally means that
users need to be able to change them. This will require a payload (or
OS app) be capable of writing parts of the flash chip to change the
configuration items.
> On a related note I would like to request that we try hard not to
> touch NVRAM at all unless it is absolutely neccessary.
Bochs bios and "legacybios" don't really use the nvram that much.
I'll follow up in a separate email.
-Kevin
More information about the coreboot
mailing list