Re: [PATCH] support piix PAM registers in KVM

Avi Kivity
2011-06-15T13:17:36Z

On 06/15/2011 02:58 PM, Jason Krieg wrote:
> 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 ?
>

Resets may fail.

> 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 ?

IIUC newer seabios depends on this commit, but this commit does not
depend on seabios.

>
> 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 ?

It would be better to first understand what's going wrong.

--
error compiling committee.c: too many arguments to function