[coreboot] SeaBIOS question and cross compilation fix.

Kevin O'Connor kevin at koconnor.net
Mon Nov 10 01:50:50 CET 2008


On Mon, Nov 10, 2008 at 01:07:27AM +0100, Stefan Reinauer wrote:
> Kevin O'Connor wrote:
> > Did you setup SeaBIOS' idt/gdt?  If not, you won't be able to use
> > call16() which would break calling option roms from SeaBIOS.  (It also
> > prevents usleep() from working which would prevent certain devices
> > from initializing.)
> >
> > Otherwise, can you post the entry code that you are using?
> >   
> I worked on unifying the GDTs used in coreboot-v3, coreboot-v3 real-mode
> and SeaBIOS, so I don't load a GDT in SeaBIOS, but I do load the SeaBIOS
> IDT. See both attached patches.

Hrmm.  Where is the stack actually located when using coreboot?  The
call16() code assumes it can use the same stack for 16bit and 32bit
code.  If your actual stack is not in the first 64K then that
assumption wont work.

Also, on a closer look, the SeaBIOS IDT doesn't actually do anything,
so no real need to mess with that one.

BTW, there are sgdtl and sidtl insns, so it is theoretically possible
to save and restore the coreboot context.

-Kevin




More information about the coreboot mailing list