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: Dr. David Alan Gilbert
Subject: Re: [Qemu-devel] [PATCH 1/3] migration/i386: Remove old non-softfloat 64bit FP support
Date: Tue, 18 Apr 2017 12:04:21 +0100
User-agent: Mutt/1.8.0 (2017-02-23)

* Eduardo Habkost (address@hidden) wrote:
> 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?

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 / address@hidden / Manchester, UK



reply via email to

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