[coreboot] legacy bios support and coreboot
kevin at koconnor.net
Fri May 9 00:43:48 CEST 2008
On Wed, May 07, 2008 at 10:50:11AM +0800, aaron lwe wrote:
> I've written a loader for coreboot-v2 to load legacybios, it works
> well when used with qemu, I've booted freebsd with it. But on real
> hardware, via epia-cn, it hangs with a blank screen, the debug port
> value is 0x31, I'll take some time to see what's going wrong.
> I add a header for legacybios to become a payload, this is done by a
> utility createpayload.
It looks like your payload launcher transitions to 16bit mode to enter
the bios. Although this works, it's not needed.
If you look at the file legacybios/out/rom32.offset.auto.h you'll see
a definition for OFFSET__start. This is the 32bit entry point.
(Jumping to 0xf000:0xfff0 in 16bit mode just causes legacybios to
transition to 32bit mode and then jump to the above.)
So, something like:
typedef void (*entry_t)();
entry_t myentry = (entry_t)OFFSET__start;
Should be all that is needed.
More information about the coreboot