Re: [PATCH] support piix PAM registers in KVM

Jason Krieg
2011-06-15T11:58:08Z

On 09/21/2010 02:31 PM, Gleb Natapov wrote:
> Without this BIOS fails to remap 0xf0000 memory from ROM to RAM so writes
> to F-segment modify ROM content instead of memory copy. Since QEMU does
> not reloads ROMs during reset on next boot modified copy of BIOS is used.
>
> Signed-off-by: Gleb Natapov<gleb@redhat.com>
> diff --git a/hw/piix_pci.c b/hw/piix_pci.c
> index 933ad86..0bf435d 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;
> --
> Gleb.
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html

Hi,

While testing migration from old to new kvm ( 0.12.5 to 0.14.x ) and
after fixing
some other problems mainly version_id probs in some of the
VMStateDescriptions
everything was working fine until I tried to migrate Windows guests they
would crash
after running some time. Linux guests are running stable.

So I decided to do a git bisect to identify the according commit.
Reverting this commit fixes this problem with Windows guests.

What consequences might it have not updating these memory mappings ?

Does this commit need a specific seabios version, we have seabios 0.6.0
with qemu-kvm 0.12.5
and seabios 0.6.1.2 with qemu-kvm 0.14.1 ?

Maybe instead of reverting this commit one could check the seabios
version in this method
and only do an update of these piix PAM registers if running with a
newer seabios version ?

Regards,
Jason