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

Re: [Xen-devel] [PATCH] x86/xstate: undo bogus adjustment to xsave()



On 10/03/16 07:39, Jan Beulich wrote:
> This reverts an unintended change in commit 879b44b041 ("x86/fpu: add
> a per-domain field to set the width of FIP/FDP"), which I had done
> intermediately while fixing the build issue: After having reverted that
> adjustment I must have forgotten to "git add" the adjustment.
> 
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

It think you also need to only clobber fip/fdp in memory if mask &
XSTATE_FP.

But, quite frankly, this logic too complicated and clearly too fragile
and you should just take the simplification I posted.

David

> 
> --- a/xen/arch/x86/xstate.c
> +++ b/xen/arch/x86/xstate.c
> @@ -292,7 +292,7 @@ void xsave(struct vcpu *v, uint64_t mask)
>  
>          XSAVE("0x48,");
>  
> -        if ( !(ptr->xsave_hdr.xstate_bv & XSTATE_FP) ||
> +        if ( !(mask & ptr->xsave_hdr.xstate_bv & XSTATE_FP) ||
>               /*
>                * AMD CPUs don't save/restore FDP/FIP/FOP unless an exception
>                * is pending.
> 
> 
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.