[coreboot] legacy bios support and coreboot

Kevin O'Connor kevin at koconnor.net
Fri May 9 01:00:05 CEST 2008


On Thu, May 08, 2008 at 06:43:48PM -0400, Kevin O'Connor wrote:
> 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.
> 
> Hi Aaron,
> 
> 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.)

On second thought, legacybios assumes it is using its idt and gdt.
I'll add an externally available 32bit entry point that sets up the
idt and gdt first.

Indeed, I think I'll just make an elf file with the entry address
populated.

-Kevin




More information about the coreboot mailing list