-----Original Message----- From: Kevin O'Connor [mailto:kevin@koconnor.net] Sent: Monday, May 12, 2008 4:14 PM To: Myles Watson Cc: 'Coreboot' Subject: Re: [coreboot] elf payload legacybios - boots on v3 in qemu
On Mon, May 12, 2008 at 02:46:44PM -0600, Myles Watson wrote:
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:
I think this option is more flexible.
- and c) put them somewhere in memory where legacybios can then copy it to the 0xf0000 segment
I like this one better. It seems more robust.
Sounds good to me. The only catch with this method is that the "legacybios" code then needs to know where in memory the info is.
I'm not that familiar with coreboot - is there some way for info to get passed from coreboot to a payload? How can the payload know how much memory is in the system?
Peter suggested libpayload. There is a coreinfo browser that extracts this information from coreboot. We could repurpose some of that code to generate the correct tables, then load them and "legacybios" into memory.
An alternative would be to look at the Filo code and see how it generates its memory map to pass to the Linux kernel.
BTW: I think we should call "legacybios" pcbios, or something equally short and descriptive. We could also call it bochsbios, since Bochs will eventually switch :)
Thanks, Myles