Re: [PATCH 6/7] x86, xsave: disable xsave in i387 emulation mode

From: Suresh Siddha
Date: Wed Jul 21 2010 - 14:16:44 EST


On Wed, 2010-07-21 at 10:03 -0700, Robert Richter wrote:
> xsave is broken for (!HAVE_HWFP). This is the case if config
> MATH_EMULATION is enabled, 'no387' kernel parameter is set and xsave
> exists. xsave will not work because x86/math-emu and xsave share the
> same memory. As this case can be treated as corner case we simply
> disable xsave then.

I think it is cleaner to clear these cpu capabilities in the function
which handles no387 boot parameter.

Otherwise Acked-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>

thanks.

>
> Signed-off-by: Robert Richter <robert.richter@xxxxxxx>
> ---
> arch/x86/kernel/i387.c | 6 ++++++
> 1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/kernel/i387.c b/arch/x86/kernel/i387.c
> index e73c54e..ff81143 100644
> --- a/arch/x86/kernel/i387.c
> +++ b/arch/x86/kernel/i387.c
> @@ -67,6 +67,12 @@ static void __cpuinit init_thread_xstate(void)
> */
>
> if (!HAVE_HWFP) {
> + /*
> + * Disable xsave as we do not support it if i387
> + * emulation is enabled.
> + */
> + setup_clear_cpu_cap(X86_FEATURE_XSAVE);
> + setup_clear_cpu_cap(X86_FEATURE_XSAVEOPT);
> xstate_size = sizeof(struct i387_soft_struct);
> return;
> }

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/