From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH][uq/master] kvm: x86: Save/restore FPU OP, IP and DP Date: Tue, 14 Jun 2011 11:23:51 +0300 Message-ID: <4DF71A97.8090407@redhat.com> References: <4DF33413.9070605@web.de> <4DF5CE2E.50008@redhat.com> <4DF6FB62.60705@web.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Cc: Marcelo Tosatti , kvm , qemu-devel , Stefan Hajnoczi , Christophe Fergeau To: Jan Kiszka Return-path: Received: from mx1.redhat.com ([209.132.183.28]:64341 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755263Ab1FNIX6 (ORCPT ); Tue, 14 Jun 2011 04:23:58 -0400 In-Reply-To: <4DF6FB62.60705@web.de> Sender: kvm-owner@vger.kernel.org List-ID: On 06/14/2011 09:10 AM, Jan Kiszka wrote: > On 2011-06-13 10:45, Avi Kivity wrote: > > On 06/11/2011 12:23 PM, Jan Kiszka wrote: > >> From: Jan Kiszka > >> > >> These FPU states are properly maintained by KVM but not yet by TCG. So > >> far we unconditionally set them to 0 in the guest which may cause > >> state corruptions - not only during migration. > >> > >> > >> -#define CPU_SAVE_VERSION 12 > >> +#define CPU_SAVE_VERSION 13 > >> > > > > Incrementing the version number seems excessive - I can't imagine a > > real-life guest will break due to fp pointer corruption > > > > However, I don't think we have a mechanism for optional state. We > > discussed this during the 18th VMState Subsection Symposium and IIRC > > agreed to re-raise the issue when we encountered it, which appears to be > > now. > > > > Whatever we invent, it has to be backported as well to allow that > infamous traveling back in time, migrating VMs from newer to older versions. > > Would that backporting be simpler if we used an unconditional subsection > for the additional states? Most likely. It depends on what mechanism we use. Let's spend some time to think about what it would be like. This patch is not urgent, is it? (i.e. it was discovered by code inspection, not live migration that caught the cpu between an instruction that caused a math exception and the exception handler). -- error compiling committee.c: too many arguments to function