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
Yeah. It looks like kvm is updating the ram at 0xffff0000 when writes are done to 0xf0000. It's not ideal.