qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/3] migration/i386: Remove old non-softfloat 64


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PATCH 1/3] migration/i386: Remove old non-softfloat 64bit FP support
Date: Thu, 13 Apr 2017 12:01:21 -0300
User-agent: Mutt/1.7.1 (2016-10-04)

On Wed, Apr 05, 2017 at 08:00:22PM +0100, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" <address@hidden>
> 
> Long long ago, we used to support storing the x86 FP registers in
> a 64bit format.
> 
> Then c31da136a0bf8caad70c348f5ffc283206e9c7fc in v0.14-rc0 removed
> the last support for writing that in the migration format.
> Even before that, it was only used if you had softfloat disabled
>  (i.e. !USE_X86LDOUBLE) so in practice use of it in even earlier
> qemu is unlikely for most users.
> 
> Kill it off, it's complicated, and possibly broken.
> 
> Signed-off-by: Dr. David Alan Gilbert <address@hidden>

I love the sound of obsolete code being deleted...

Acked-by: Eduardo Habkost <address@hidden>

But:

[...]
> @@ -356,6 +256,10 @@ static int cpu_post_load(void *opaque, int version_id)
>          return -EINVAL;
>      }
>  
> +    if (env->fpregs_format_vmstate) {
> +        error_report("Unsupported old non-softfloat CPU state");
> +        return -EINVAL;
> +    }

Is this equivalent to using VMSTATE_UINT16_EQUAL, but with a
better and more verbose error message?

>      /*
>       * Real mode guest segments register DPL should be zero.
>       * Older KVM version were setting it wrongly.
> @@ -943,7 +847,8 @@ VMStateDescription vmstate_x86_cpu = {
>          VMSTATE_UINT16(env.fpus_vmstate, X86CPU),
>          VMSTATE_UINT16(env.fptag_vmstate, X86CPU),
>          VMSTATE_UINT16(env.fpregs_format_vmstate, X86CPU),
> -        VMSTATE_FP_REGS(env.fpregs, X86CPU, 8),
> +
> +        VMSTATE_STRUCT_ARRAY(env.fpregs, X86CPU, 8, 0, vmstate_fpreg, FPReg),
>  
>          VMSTATE_SEGMENT_ARRAY(env.segs, X86CPU, 6),
>          VMSTATE_SEGMENT(env.ldt, X86CPU),
> -- 
> 2.9.3
> 

-- 
Eduardo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]