[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