On Wed, Apr 05, 2017 at 08:00:22PM +0100, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" <dgilb...@redhat.com>
> 
> 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 <dgilb...@redhat.com>

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

Acked-by: Eduardo Habkost <ehabk...@redhat.com>

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