Re: Got FPU related warning on Intel Quark during boot
From: Bryan O'Donoghue
Date: Fri Mar 11 2016 - 06:02:21 EST
On Fri, 2016-03-11 at 10:48 +0100, Borislav Petkov wrote:
> On Fri, Mar 11, 2016 at 10:08:40AM +0100, Ingo Molnar wrote:
> > So yes, this needs to be fixed too.
>
> Yes indeed. So the diff below seems to work with Bryan's simple test
> case.
>
> Bryan, can you confirm on your box pls?
>
> ---
> diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c
> index dea8e76d60c6..8e37cc8a539a 100644
> --- a/arch/x86/kernel/fpu/core.c
> +++ b/arch/x86/kernel/fpu/core.c
> @@ -474,8 +474,10 @@ static inline void
> copy_init_fpstate_to_fpregs(void)
> {
> if (use_xsave())
> copy_kernel_to_xregs(&init_fpstate.xsave, -1);
> - else
> + else if (static_cpu_has(X86_FEATURE_FXSR))
> copy_kernel_to_fxregs(&init_fpstate.fxsave);
> + else
> + copy_kernel_to_fregs(&init_fpstate.fsave);
> }
>
> /*
> diff --git a/arch/x86/kernel/fpu/init.c b/arch/x86/kernel/fpu/init.c
> index e12cc0ad368e..c835f61d5feb 100644
> --- a/arch/x86/kernel/fpu/init.c
> +++ b/arch/x86/kernel/fpu/init.c
> @@ -134,7 +134,7 @@ static void __init fpu__init_system_generic(void)
> * Set up the legacy init FPU context. (xstate init might
> overwrite this
> * with a more modern format, if the CPU supports it.)
> */
> - fpstate_init_fxstate(&init_fpstate.fxsave);
> + fpstate_init(&init_fpstate);
>
> fpu__init_system_mxcsr();
> }
>
> ---
>
> Thanks.
>
Hi Boris,
Looks good.
Tested-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx>