Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

crypto: x86 - Remove CONFIG_AS_SHA1_NI

Current minimum required version of binutils is 2.25,
which supports SHA-1 instruction mnemonics.

Remove check for assembler support of SHA-1 instructions
and all relevant macros for conditional compilation.

No functional change intended.

Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Reviewed-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Uros Bizjak and committed by
Herbert Xu
984f8350 d0d9d00b

+1 -17
-5
arch/x86/Kconfig.assembler
··· 6 6 help 7 7 Supported by binutils >= 2.25 and LLVM integrated assembler 8 8 9 - config AS_SHA1_NI 10 - def_bool $(as-instr,sha1msg1 %xmm0$(comma)%xmm1) 11 - help 12 - Supported by binutils >= 2.24 and LLVM integrated assembler 13 - 14 9 config AS_SHA256_NI 15 10 def_bool $(as-instr,sha256msg1 %xmm0$(comma)%xmm1) 16 11 help
+1 -2
arch/x86/crypto/Makefile
··· 56 56 endif 57 57 58 58 obj-$(CONFIG_CRYPTO_SHA1_SSSE3) += sha1-ssse3.o 59 - sha1-ssse3-y := sha1_avx2_x86_64_asm.o sha1_ssse3_asm.o sha1_ssse3_glue.o 60 - sha1-ssse3-$(CONFIG_AS_SHA1_NI) += sha1_ni_asm.o 59 + sha1-ssse3-y := sha1_avx2_x86_64_asm.o sha1_ssse3_asm.o sha1_ni_asm.o sha1_ssse3_glue.o 61 60 62 61 obj-$(CONFIG_CRYPTO_SHA256_SSSE3) += sha256-ssse3.o 63 62 sha256-ssse3-y := sha256-ssse3-asm.o sha256-avx-asm.o sha256-avx2-asm.o sha256_ssse3_glue.o
-10
arch/x86/crypto/sha1_ssse3_glue.c
··· 28 28 #include <asm/simd.h> 29 29 30 30 static const struct x86_cpu_id module_cpu_ids[] = { 31 - #ifdef CONFIG_AS_SHA1_NI 32 31 X86_MATCH_FEATURE(X86_FEATURE_SHA_NI, NULL), 33 - #endif 34 32 X86_MATCH_FEATURE(X86_FEATURE_AVX2, NULL), 35 33 X86_MATCH_FEATURE(X86_FEATURE_AVX, NULL), 36 34 X86_MATCH_FEATURE(X86_FEATURE_SSSE3, NULL), ··· 254 256 crypto_unregister_shash(&sha1_avx2_alg); 255 257 } 256 258 257 - #ifdef CONFIG_AS_SHA1_NI 258 259 asmlinkage void sha1_ni_transform(struct sha1_state *digest, const u8 *data, 259 260 int rounds); 260 261 ··· 302 305 if (boot_cpu_has(X86_FEATURE_SHA_NI)) 303 306 crypto_unregister_shash(&sha1_ni_alg); 304 307 } 305 - 306 - #else 307 - static inline int register_sha1_ni(void) { return 0; } 308 - static inline void unregister_sha1_ni(void) { } 309 - #endif 310 308 311 309 static int __init sha1_ssse3_mod_init(void) 312 310 { ··· 352 360 MODULE_ALIAS_CRYPTO("sha1-ssse3"); 353 361 MODULE_ALIAS_CRYPTO("sha1-avx"); 354 362 MODULE_ALIAS_CRYPTO("sha1-avx2"); 355 - #ifdef CONFIG_AS_SHA1_NI 356 363 MODULE_ALIAS_CRYPTO("sha1-ni"); 357 - #endif