From: John Haxby <john.haxby@oracle.com> Date: Wed, 14 Aug 2013 15:23:18 +0000 (+0100) Subject: crypto: xor - Check for osxsave as well as avx in crypto/xor X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=edb6f29464afc65fc73767540b854abf63ae7144;p=linux.git 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> --- diff --git a/arch/x86/include/asm/xor_avx.h b/arch/x86/include/asm/xor_avx.h index 7ea79c5fa1f21..492b29802f571 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