summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/xor_avx.h
diff options
context:
space:
mode:
authorJohn Haxby <john.haxby@oracle.com>2013-08-14 16:23:18 +0100
committerHerbert Xu <herbert@gondor.apana.org.au>2013-08-21 21:08:35 +1000
commitedb6f29464afc65fc73767540b854abf63ae7144 (patch)
tree42a91bead19a039c3965aeb03dffa2952853186c /arch/x86/include/asm/xor_avx.h
parent452ec0498f98304d4107842075062fe429ce7804 (diff)
crypto: xor - Check for osxsave as well as avx in crypto/xor
This affects xen pv guests with sufficiently old versions of xen and sufficiently new hardware. On such a system, a guest with a btrfs root won't even boot. Signed-off-by: John Haxby <john.haxby@oracle.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'arch/x86/include/asm/xor_avx.h')
-rw-r--r--arch/x86/include/asm/xor_avx.h4
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 7ea79c5fa1f2..492b29802f57 100644
--- a/arch/x86/include/asm/xor_avx.h
+++ b/arch/x86/include/asm/xor_avx.h
@@ -167,12 +167,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