summaryrefslogtreecommitdiffstats
path: root/arch/mips/crypto/Makefile
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2019-11-08 13:22:17 +0100
committerHerbert Xu <herbert@gondor.apana.org.au>2019-11-17 02:02:40 +0100
commit3a2f58f3ba4f6f44e33d1a48240d5eadb882cb59 (patch)
tree4db812f7ac84ba457c76b99f6fd06552bec60ff0 /arch/mips/crypto/Makefile
parentcrypto: mips/chacha - import 32r2 ChaCha code from Zinc (diff)
downloadlinux-3a2f58f3ba4f6f44e33d1a48240d5eadb882cb59.tar.xz
linux-3a2f58f3ba4f6f44e33d1a48240d5eadb882cb59.zip
crypto: mips/chacha - wire up accelerated 32r2 code from Zinc
This integrates the accelerated MIPS 32r2 implementation of ChaCha into both the API and library interfaces of the kernel crypto stack. The significance of this is that, in addition to becoming available as an accelerated library implementation, it can also be used by existing crypto API code such as Adiantum (for block encryption on ultra low performance cores) or IPsec using chacha20poly1305. These are use cases that have already opted into using the abstract crypto API. In order to support Adiantum, the core assembler routine has been adapted to take the round count as a function argument rather than hardcoding it to 20. Co-developed-by: René van Dorst <opensource@vdorst.com> Signed-off-by: René van Dorst <opensource@vdorst.com> Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'arch/mips/crypto/Makefile')
-rw-r--r--arch/mips/crypto/Makefile4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/mips/crypto/Makefile b/arch/mips/crypto/Makefile
index e07aca572c2e..b528b9d300f1 100644
--- a/arch/mips/crypto/Makefile
+++ b/arch/mips/crypto/Makefile
@@ -4,3 +4,7 @@
#
obj-$(CONFIG_CRYPTO_CRC32_MIPS) += crc32-mips.o
+
+obj-$(CONFIG_CRYPTO_CHACHA_MIPS) += chacha-mips.o
+chacha-mips-y := chacha-core.o chacha-glue.o
+AFLAGS_chacha-core.o += -O2 # needed to fill branch delay slots