[SeaBIOS] Running out of space in e/f-segments

Kevin O'Connor kevin at koconnor.net
Sun Aug 22 19:02:03 CEST 2010


On Sun, Aug 22, 2010 at 07:23:30PM +0300, Avi Kivity wrote:
> btw, big real mode cannot be entered in vm86 mode.  So anything
> involving that can safely be moved to upper memory 32-bit code.

Only POST needs bigreal mode, and it should be no problem moving POST
to high memory.

> >Even with all its warts I think .code16gcc is the best route.
> 
> For 16-bit runtime services, I agree.  For POST and 32-bit runtime
> services, I think we can easily push the code to 4G-2M.

The 32bit runtime is also tricky, but thankfully it's under 2K of code
and so it can be left in the f-segment.

I'm not sure what you mean by "4G-2M" - are you suggesting running XIP
in the "flash" chip?  This is possible in qemu/kvm, but it's not
something you'd want to do on real hardware.  Accesses to the flash
chip are terribly slow - on real hardware you want to copy the code
from flash to ram as soon as possible.  (You typically want to
compress everything in flash also.)

-Kevin



More information about the SeaBIOS mailing list