From 74bf57c84244034d15cee03353bcc4458371abf7 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Fri, 9 Nov 2018 18:23:07 +0100 Subject: chacha20,poly1305: use CONFIG_KERNEL_MODE_NEON in .pl on arm While Andy is right to desire a separation between compiler defines and project defines, there are simply too many odd kernel configurations and we require testing for CONFIG_KERNEL_MODE_NEON. --- src/crypto/zinc/poly1305/poly1305-arm.pl | 2 +- src/crypto/zinc/poly1305/poly1305-arm64.pl | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) (limited to 'src/crypto/zinc/poly1305') diff --git a/src/crypto/zinc/poly1305/poly1305-arm.pl b/src/crypto/zinc/poly1305/poly1305-arm.pl index 88a4260..30a2005 100644 --- a/src/crypto/zinc/poly1305/poly1305-arm.pl +++ b/src/crypto/zinc/poly1305/poly1305-arm.pl @@ -460,7 +460,7 @@ my ($T0,$T1,$MASK) = map("q$_",(15,4,0)); my ($in2,$zeros,$tbl0,$tbl1) = map("r$_",(4..7)); $code.=<<___; -#if __ARM_MAX_ARCH__>=7 +#if (defined(__KERNEL__) && defined(CONFIG_KERNEL_MODE_NEON)) || (!defined(__KERNEL__) && __ARM_MAX_ARCH__>=7) .fpu neon .type poly1305_init_neon,%function diff --git a/src/crypto/zinc/poly1305/poly1305-arm64.pl b/src/crypto/zinc/poly1305/poly1305-arm64.pl index cf0ce9d..d513b45 100644 --- a/src/crypto/zinc/poly1305/poly1305-arm64.pl +++ b/src/crypto/zinc/poly1305/poly1305-arm64.pl @@ -68,11 +68,6 @@ $code.=<<___; // forward "declarations" are required for Apple .globl poly1305_blocks .globl poly1305_emit -#ifdef __KERNEL__ -.globl poly1305_blocks_neon -.globl poly1305_emit_neon -#endif - .globl poly1305_init .type poly1305_init,%function .align 5 @@ -301,6 +296,12 @@ __poly1305_splat: ret .size __poly1305_splat,.-__poly1305_splat +#if !defined(__KERNEL__) || defined(CONFIG_KERNEL_MODE_NEON) +#ifdef __KERNEL__ +.globl poly1305_blocks_neon +.globl poly1305_emit_neon +#endif + .type poly1305_blocks_neon,%function .align 5 poly1305_blocks_neon: @@ -933,6 +934,7 @@ poly1305_emit_neon: ret .size poly1305_emit_neon,.-poly1305_emit_neon +#endif .align 5 .Lzeros: -- cgit v1.2.3-59-g8ed1b