aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/crypto/zinc/poly1305/poly1305-arm64.pl
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2018-11-09 18:23:07 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2018-11-14 23:59:05 -0800
commit74bf57c84244034d15cee03353bcc4458371abf7 (patch)
tree6307b6e415b0d3363e0ffef287ecaa6fc0c816f1 /src/crypto/zinc/poly1305/poly1305-arm64.pl
parentchacha20,poly1305: switch to perlasm originals on mips and arm (diff)
downloadwireguard-monolithic-historical-74bf57c84244034d15cee03353bcc4458371abf7.tar.xz
wireguard-monolithic-historical-74bf57c84244034d15cee03353bcc4458371abf7.zip
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.
Diffstat (limited to 'src/crypto/zinc/poly1305/poly1305-arm64.pl')
-rw-r--r--src/crypto/zinc/poly1305/poly1305-arm64.pl12
1 files changed, 7 insertions, 5 deletions
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: