[patch] x86, avx: don't use avx instructions with "noxsave" bootparam

From: Suresh Siddha
Date: Mon Jul 30 2012 - 18:43:09 EST


Check the kernel has indeed enabled xsave before using AVX instructions.

Fixes the kernel boot panic with "noxsave" boot parameter.

Signed-off-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
---
arch/x86/include/asm/xor_avx.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/xor_avx.h b/arch/x86/include/asm/xor_avx.h
index 2510d35..77987cd 100644
--- a/arch/x86/include/asm/xor_avx.h
+++ b/arch/x86/include/asm/xor_avx.h
@@ -197,12 +197,12 @@ static struct xor_block_template xor_block_avx = {

#define AVX_XOR_SPEED \
do { \
- if (cpu_has_avx) \
+ if (cpu_has_avx && cpu_has_osxsave) \
xor_speed(&xor_block_avx); \
} while (0)

#define AVX_SELECT(FASTEST) \
- (cpu_has_avx ? &xor_block_avx : FASTEST)
+ ((cpu_has_avx && cpu_has_osxsave) ? &xor_block_avx : FASTEST)

#else



--
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/