mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:24:45 +01:00
crypto: x86 - Remove CONFIG_AS_GFNI
Current minimum required version of binutils is 2.30, which supports GFNI instruction mnemonics. Remove check for assembler support of GFNI instructions and all relevant macros for conditional compilation. No functional change intended. Signed-off-by: Uros Bizjak <ubizjak@gmail.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Acked-by: Herbert Xu <herbert@gondor.apana.org.au> Link: https://lore.kernel.org/20250819085855.333380-1-ubizjak@gmail.com
This commit is contained in:
parent
03777dbd8c
commit
a35da57357
6 changed files with 4 additions and 31 deletions
|
|
@ -6,11 +6,6 @@ config AS_AVX512
|
|||
help
|
||||
Supported by binutils >= 2.25 and LLVM integrated assembler
|
||||
|
||||
config AS_GFNI
|
||||
def_bool $(as-instr,vgf2p8mulb %xmm0$(comma)%xmm1$(comma)%xmm2)
|
||||
help
|
||||
Supported by binutils >= 2.30 and LLVM integrated assembler
|
||||
|
||||
config AS_VAES
|
||||
def_bool $(as-instr,vaesenc %ymm0$(comma)%ymm1$(comma)%ymm2)
|
||||
help
|
||||
|
|
|
|||
|
|
@ -319,7 +319,7 @@ config CRYPTO_ARIA_AESNI_AVX2_X86_64
|
|||
|
||||
config CRYPTO_ARIA_GFNI_AVX512_X86_64
|
||||
tristate "Ciphers: ARIA with modes: ECB, CTR (AVX512/GFNI)"
|
||||
depends on 64BIT && AS_GFNI
|
||||
depends on 64BIT
|
||||
select CRYPTO_SKCIPHER
|
||||
select CRYPTO_ALGAPI
|
||||
select CRYPTO_ARIA
|
||||
|
|
|
|||
|
|
@ -295,7 +295,6 @@
|
|||
vpshufb t1, t0, t2; \
|
||||
vpxor t2, x7, x7;
|
||||
|
||||
#ifdef CONFIG_AS_GFNI
|
||||
#define aria_sbox_8way_gfni(x0, x1, x2, x3, \
|
||||
x4, x5, x6, x7, \
|
||||
t0, t1, t2, t3, \
|
||||
|
|
@ -318,8 +317,6 @@
|
|||
vgf2p8affineinvqb $0, t2, x3, x3; \
|
||||
vgf2p8affineinvqb $0, t2, x7, x7
|
||||
|
||||
#endif /* CONFIG_AS_GFNI */
|
||||
|
||||
#define aria_sbox_8way(x0, x1, x2, x3, \
|
||||
x4, x5, x6, x7, \
|
||||
t0, t1, t2, t3, \
|
||||
|
|
@ -561,7 +558,6 @@
|
|||
y4, y5, y6, y7, \
|
||||
mem_tmp, 8);
|
||||
|
||||
#ifdef CONFIG_AS_GFNI
|
||||
#define aria_fe_gfni(x0, x1, x2, x3, \
|
||||
x4, x5, x6, x7, \
|
||||
y0, y1, y2, y3, \
|
||||
|
|
@ -719,8 +715,6 @@
|
|||
y4, y5, y6, y7, \
|
||||
mem_tmp, 8);
|
||||
|
||||
#endif /* CONFIG_AS_GFNI */
|
||||
|
||||
/* NB: section is mergeable, all elements must be aligned 16-byte blocks */
|
||||
.section .rodata.cst16, "aM", @progbits, 16
|
||||
.align 16
|
||||
|
|
@ -772,7 +766,6 @@
|
|||
.Ltf_hi__x2__and__fwd_aff:
|
||||
.octa 0x3F893781E95FE1576CDA64D2BA0CB204
|
||||
|
||||
#ifdef CONFIG_AS_GFNI
|
||||
/* AES affine: */
|
||||
#define tf_aff_const BV8(1, 1, 0, 0, 0, 1, 1, 0)
|
||||
.Ltf_aff_bitmatrix:
|
||||
|
|
@ -871,7 +864,6 @@
|
|||
BV8(0, 0, 0, 0, 0, 1, 0, 0),
|
||||
BV8(0, 0, 0, 0, 0, 0, 1, 0),
|
||||
BV8(0, 0, 0, 0, 0, 0, 0, 1))
|
||||
#endif /* CONFIG_AS_GFNI */
|
||||
|
||||
/* 4-bit mask */
|
||||
.section .rodata.cst4.L0f0f0f0f, "aM", @progbits, 4
|
||||
|
|
@ -1140,7 +1132,6 @@ SYM_TYPED_FUNC_START(aria_aesni_avx_ctr_crypt_16way)
|
|||
RET;
|
||||
SYM_FUNC_END(aria_aesni_avx_ctr_crypt_16way)
|
||||
|
||||
#ifdef CONFIG_AS_GFNI
|
||||
SYM_FUNC_START_LOCAL(__aria_aesni_avx_gfni_crypt_16way)
|
||||
/* input:
|
||||
* %r9: rk
|
||||
|
|
@ -1359,4 +1350,3 @@ SYM_TYPED_FUNC_START(aria_aesni_avx_gfni_ctr_crypt_16way)
|
|||
FRAME_END
|
||||
RET;
|
||||
SYM_FUNC_END(aria_aesni_avx_gfni_ctr_crypt_16way)
|
||||
#endif /* CONFIG_AS_GFNI */
|
||||
|
|
|
|||
|
|
@ -302,7 +302,6 @@
|
|||
vpbroadcastb ((round * 16) + idx + 4)(rk), t0; \
|
||||
vpxor t0, x7, x7;
|
||||
|
||||
#ifdef CONFIG_AS_GFNI
|
||||
#define aria_sbox_8way_gfni(x0, x1, x2, x3, \
|
||||
x4, x5, x6, x7, \
|
||||
t0, t1, t2, t3, \
|
||||
|
|
@ -325,7 +324,6 @@
|
|||
vgf2p8affineinvqb $0, t2, x3, x3; \
|
||||
vgf2p8affineinvqb $0, t2, x7, x7
|
||||
|
||||
#endif /* CONFIG_AS_GFNI */
|
||||
#define aria_sbox_8way(x0, x1, x2, x3, \
|
||||
x4, x5, x6, x7, \
|
||||
t0, t1, t2, t3, \
|
||||
|
|
@ -598,7 +596,7 @@
|
|||
aria_load_state_8way(y0, y1, y2, y3, \
|
||||
y4, y5, y6, y7, \
|
||||
mem_tmp, 8);
|
||||
#ifdef CONFIG_AS_GFNI
|
||||
|
||||
#define aria_fe_gfni(x0, x1, x2, x3, \
|
||||
x4, x5, x6, x7, \
|
||||
y0, y1, y2, y3, \
|
||||
|
|
@ -752,7 +750,6 @@
|
|||
aria_load_state_8way(y0, y1, y2, y3, \
|
||||
y4, y5, y6, y7, \
|
||||
mem_tmp, 8);
|
||||
#endif /* CONFIG_AS_GFNI */
|
||||
|
||||
.section .rodata.cst32.shufb_16x16b, "aM", @progbits, 32
|
||||
.align 32
|
||||
|
|
@ -806,7 +803,6 @@
|
|||
.Ltf_hi__x2__and__fwd_aff:
|
||||
.octa 0x3F893781E95FE1576CDA64D2BA0CB204
|
||||
|
||||
#ifdef CONFIG_AS_GFNI
|
||||
.section .rodata.cst8, "aM", @progbits, 8
|
||||
.align 8
|
||||
/* AES affine: */
|
||||
|
|
@ -868,8 +864,6 @@
|
|||
BV8(0, 0, 0, 0, 0, 0, 1, 0),
|
||||
BV8(0, 0, 0, 0, 0, 0, 0, 1))
|
||||
|
||||
#endif /* CONFIG_AS_GFNI */
|
||||
|
||||
/* 4-bit mask */
|
||||
.section .rodata.cst4.L0f0f0f0f, "aM", @progbits, 4
|
||||
.align 4
|
||||
|
|
@ -1219,7 +1213,6 @@ SYM_TYPED_FUNC_START(aria_aesni_avx2_ctr_crypt_32way)
|
|||
RET;
|
||||
SYM_FUNC_END(aria_aesni_avx2_ctr_crypt_32way)
|
||||
|
||||
#ifdef CONFIG_AS_GFNI
|
||||
SYM_FUNC_START_LOCAL(__aria_aesni_avx2_gfni_crypt_32way)
|
||||
/* input:
|
||||
* %r9: rk
|
||||
|
|
@ -1438,4 +1431,3 @@ SYM_TYPED_FUNC_START(aria_aesni_avx2_gfni_ctr_crypt_32way)
|
|||
FRAME_END
|
||||
RET;
|
||||
SYM_FUNC_END(aria_aesni_avx2_gfni_ctr_crypt_32way)
|
||||
#endif /* CONFIG_AS_GFNI */
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@ asmlinkage void aria_aesni_avx2_ctr_crypt_32way(const void *ctx, u8 *dst,
|
|||
const u8 *src,
|
||||
u8 *keystream, u8 *iv);
|
||||
EXPORT_SYMBOL_GPL(aria_aesni_avx2_ctr_crypt_32way);
|
||||
#ifdef CONFIG_AS_GFNI
|
||||
asmlinkage void aria_aesni_avx2_gfni_encrypt_32way(const void *ctx, u8 *dst,
|
||||
const u8 *src);
|
||||
EXPORT_SYMBOL_GPL(aria_aesni_avx2_gfni_encrypt_32way);
|
||||
|
|
@ -37,7 +36,6 @@ asmlinkage void aria_aesni_avx2_gfni_ctr_crypt_32way(const void *ctx, u8 *dst,
|
|||
const u8 *src,
|
||||
u8 *keystream, u8 *iv);
|
||||
EXPORT_SYMBOL_GPL(aria_aesni_avx2_gfni_ctr_crypt_32way);
|
||||
#endif /* CONFIG_AS_GFNI */
|
||||
|
||||
static struct aria_avx_ops aria_ops;
|
||||
|
||||
|
|
@ -213,7 +211,7 @@ static int __init aria_avx2_init(void)
|
|||
return -ENODEV;
|
||||
}
|
||||
|
||||
if (boot_cpu_has(X86_FEATURE_GFNI) && IS_ENABLED(CONFIG_AS_GFNI)) {
|
||||
if (boot_cpu_has(X86_FEATURE_GFNI)) {
|
||||
aria_ops.aria_encrypt_16way = aria_aesni_avx_gfni_encrypt_16way;
|
||||
aria_ops.aria_decrypt_16way = aria_aesni_avx_gfni_decrypt_16way;
|
||||
aria_ops.aria_ctr_crypt_16way = aria_aesni_avx_gfni_ctr_crypt_16way;
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@ asmlinkage void aria_aesni_avx_ctr_crypt_16way(const void *ctx, u8 *dst,
|
|||
const u8 *src,
|
||||
u8 *keystream, u8 *iv);
|
||||
EXPORT_SYMBOL_GPL(aria_aesni_avx_ctr_crypt_16way);
|
||||
#ifdef CONFIG_AS_GFNI
|
||||
asmlinkage void aria_aesni_avx_gfni_encrypt_16way(const void *ctx, u8 *dst,
|
||||
const u8 *src);
|
||||
EXPORT_SYMBOL_GPL(aria_aesni_avx_gfni_encrypt_16way);
|
||||
|
|
@ -37,7 +36,6 @@ asmlinkage void aria_aesni_avx_gfni_ctr_crypt_16way(const void *ctx, u8 *dst,
|
|||
const u8 *src,
|
||||
u8 *keystream, u8 *iv);
|
||||
EXPORT_SYMBOL_GPL(aria_aesni_avx_gfni_ctr_crypt_16way);
|
||||
#endif /* CONFIG_AS_GFNI */
|
||||
|
||||
static struct aria_avx_ops aria_ops;
|
||||
|
||||
|
|
@ -199,7 +197,7 @@ static int __init aria_avx_init(void)
|
|||
return -ENODEV;
|
||||
}
|
||||
|
||||
if (boot_cpu_has(X86_FEATURE_GFNI) && IS_ENABLED(CONFIG_AS_GFNI)) {
|
||||
if (boot_cpu_has(X86_FEATURE_GFNI)) {
|
||||
aria_ops.aria_encrypt_16way = aria_aesni_avx_gfni_encrypt_16way;
|
||||
aria_ops.aria_decrypt_16way = aria_aesni_avx_gfni_decrypt_16way;
|
||||
aria_ops.aria_ctr_crypt_16way = aria_aesni_avx_gfni_ctr_crypt_16way;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue