From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Krieg Subject: Re: [PATCH] support piix PAM registers in KVM Date: Wed, 15 Jun 2011 15:54:17 +0200 Message-ID: <4DF8B989.5080406@collax.com> References: <20100921123142.GB11145@redhat.com> <4DF89E4D.9090704@collax.com> <4DF8B0F0.8060706@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Gleb Natapov , mtosatti@redhat.com, seabios@seabios.org, kvm@vger.kernel.org To: Avi Kivity Return-path: Received: from mail.collax.com ([213.218.25.154]:41115 "EHLO mail.collax.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755285Ab1FONyV (ORCPT ); Wed, 15 Jun 2011 09:54:21 -0400 In-Reply-To: <4DF8B0F0.8060706@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 06/15/2011 03:17 PM, Avi Kivity wrote: > 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 >>> 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. > I presume (just guessing) Windows wrote to F-segment modifying the ROM and now gets confused if these PAM registers are updated. Any ideas for what I could look for ?