crypto: arm - use Kconfig based compiler checks for crypto opcodes
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Fri, 11 Oct 2019 09:08:00 +0000 (11:08 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 23 Oct 2019 08:46:56 +0000 (19:46 +1100)
commitb4d0c0aad57ac3bd1b5141bac5ab1ab1d5e442b3
treead70ab4bf9064808d352f8f5fb46a45ec7c0ba83
parent4549f7e5aa27ffc2cba63b5db8842a3b486f5688
crypto: arm - use Kconfig based compiler checks for crypto opcodes

Instead of allowing the Crypto Extensions algorithms to be selected when
using a toolchain that does not support them, and complain about it at
build time, use the information we have about the compiler to prevent
them from being selected in the first place. Users that are stuck with
a GCC version <4.8 are unlikely to care about these routines anyway, and
it cleans up the Makefile considerably.

While at it, add explicit 'armv8-a' CPU specifiers to the code that uses
the 'crypto-neon-fp-armv8' FPU specifier so we don't regress Clang, which
will complain about this in version 10 and later.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/arm/crypto/Kconfig
arch/arm/crypto/Makefile
arch/arm/crypto/aes-ce-core.S
arch/arm/crypto/crct10dif-ce-core.S
arch/arm/crypto/ghash-ce-core.S
arch/arm/crypto/sha1-ce-core.S
arch/arm/crypto/sha2-ce-core.S