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

Avi Kivity avi at redhat.com
Tue Sep 21 14:02:21 CEST 2010


  On 09/21/2010 02:32 AM, Kevin O'Connor wrote:
> 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.
>
>

Great.  Gleb, please repost to kvm@ so Marcelo can see it.

-- 
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.




More information about the SeaBIOS mailing list