* Eduardo Habkost (ehabk...@redhat.com) wrote:
> 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?

I think it probably is, yes.

Dave

> >      /*
> >       * 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
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK

Reply via email to