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

Kevin O'Connor kevin at koconnor.net
Tue Sep 21 02:32:24 CEST 2010


On Mon, Sep 20, 2010 at 02:30:10PM +0200, Gleb Natapov wrote:
> On Wed, Sep 15, 2010 at 10:31:36PM -0400, Kevin O'Connor wrote:
> > Unfortunately, both qemu and kvm don't appear to have a reliable way
> > to hard-reboot - normal reboots don't reset the 0xc0000-0xfffff
> > memory.  I've worked around this on qemu by manually resetting that
> > memory.  However, kvm doesn't keep a pristine copy of the bios at
> > 0xffff0000.  Until this is fixed, this patch series will cause a
> > soft-reboot on kvm to result in a shutdown instead of a reboot.
> > 
> 
> Can you check if with this patch kvm keeps pristine copy of the bios at
> 0xffff0000?
> 
> diff --git a/hw/piix_pci.c b/hw/piix_pci.c
> index 933ad86..f224ce7 100644
> --- a/hw/piix_pci.c
> +++ b/hw/piix_pci.c
> @@ -99,10 +99,6 @@ static void i440fx_update_memory_mappings(PCII440FXState *d)
>      int i, r;
>      uint32_t smram, addr;
>  
> -    if (kvm_enabled()) {
> -        /* FIXME: Support remappings and protection changes. */
> -        return;
> -    }
>      update_pam(d, 0xf0000, 0x100000, (d->dev.config[I440FX_PAM] >> 4) & 3);
>      for(i = 0; i < 12; i++) {
>          r = (d->dev.config[(i >> 1) + (I440FX_PAM + 1)] >> ((i & 1) * 4)) & 3;

Yes - that seems to fix the problem.

-Kevin



More information about the SeaBIOS mailing list