[SeaBIOS] [PATCH 00/11] Relocate init code to high memory

Kevin O'Connor kevin at koconnor.net
Thu Sep 16 05:34:31 CEST 2010


On Thu, Sep 16, 2010 at 05:18:33AM +0200, Peter Stuge wrote:
> Kevin O'Connor wrote:
> > The one-time init code could be called again on a soft-reboot, but
> > SeaBIOS now detects this case and attempts a hard-reboot.
> Could it just skip relocation on warm boots?

It's possible, but it requires reserving the ram used to store the
init code.  It seems like a waste to reserve memory from the OS for
something that is already in flash and used so infrequently.

>Or is there a problem
> with knowing where things were relocated to?

It's tricky - harder than doing a hard-reboot - but possible.  (The
difficulty is in resetting the malloc zones while the relocated code
is in one of the malloc zones.)

> > qemu and kvm don't appear to have a reliable way to hard-reboot
> > - normal reboots don't reset the 0xc0000-0xfffff memory.
> 
> That should probably be fixed.
> 
> > kvm doesn't keep a pristine copy of the bios
> 
> Ditto.

Yeah.  It looks like kvm is updating the ram at 0xffff0000 when writes
are done to 0xf0000.  It's not ideal.

-Kevin



More information about the SeaBIOS mailing list