linux/arch/arm64/crypto
Ard Biesheuvel 8fefde90e9 crypto: arm64/crc32 - accelerated support based on x86 SSE implementation
This is a combination of the the Intel algorithm implemented using SSE
and PCLMULQDQ instructions from arch/x86/crypto/crc32-pclmul_asm.S, and
the new CRC32 extensions introduced for both 32-bit and 64-bit ARM in
version 8 of the architecture. Two versions of the above combo are
provided, one for CRC32 and one for CRC32C.

The PMULL/NEON algorithm is faster, but operates on blocks of at least
64 bytes, and on multiples of 16 bytes only. For the remaining input,
or for all input on systems that lack the PMULL 64x64->128 instructions,
the CRC32 instructions will be used.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-12-07 20:01:22 +08:00
..
.gitignore crypto: arm64/sha2 - add generated .S files to .gitignore 2016-11-29 16:06:56 +08:00
aes-ce-ccm-core.S crypto: arm64/aes-ccm-ce: fix for big endian 2016-10-21 11:03:43 +08:00
aes-ce-ccm-glue.c crypto: arm64/aes-ce-ccm - Fix AEAD decryption length 2016-12-01 21:06:37 +08:00
aes-ce-cipher.c crypto: arm64/aes-ce - fix for big endian 2016-10-21 11:03:42 +08:00
aes-ce-setkey.h arm64/crypto: use crypto instructions to generate AES key schedule 2014-11-06 17:25:28 +00:00
aes-ce.S crypto: arm64/aes-xts-ce: fix for big endian 2016-10-21 11:03:45 +08:00
aes-glue.c crypto: arm64/aes-ce-ctr - fix skcipher conversion 2016-11-30 20:01:44 +08:00
aes-modes.S crypto: arm64/aes-xts-ce: fix for big endian 2016-10-21 11:03:45 +08:00
aes-neon.S crypto: arm64/aes-neon - fix for big endian 2016-10-21 11:03:45 +08:00
crc32-arm64.c crypto: arm64/crc32 - bring in line with generic CRC32 2015-05-07 11:16:24 +08:00
crc32-ce-core.S crypto: arm64/crc32 - accelerated support based on x86 SSE implementation 2016-12-07 20:01:22 +08:00
crc32-ce-glue.c crypto: arm64/crc32 - accelerated support based on x86 SSE implementation 2016-12-07 20:01:22 +08:00
crct10dif-ce-core.S crypto: arm64/crct10dif - port x86 SSE implementation to arm64 2016-12-07 20:01:17 +08:00
crct10dif-ce-glue.c crypto: arm64/crct10dif - port x86 SSE implementation to arm64 2016-12-07 20:01:17 +08:00
ghash-ce-core.S crypto: arm64/ghash-ce - fix for big endian 2016-10-21 11:03:43 +08:00
ghash-ce-glue.c arm64/crypto: improve performance of GHASH algorithm 2014-06-18 12:40:54 +01:00
Kconfig crypto: arm64/crc32 - accelerated support based on x86 SSE implementation 2016-12-07 20:01:22 +08:00
Makefile crypto: arm64/crc32 - accelerated support based on x86 SSE implementation 2016-12-07 20:01:22 +08:00
sha1-ce-core.S crypto: arm64/sha1-ce - fix for big endian 2016-10-21 11:03:43 +08:00
sha1-ce-glue.c crypto: arm64/sha1-ce - prevent asm code finalization in final() path 2015-05-07 11:16:25 +08:00
sha2-ce-core.S crypto: arm64/sha2-ce - fix for big endian 2016-10-21 11:03:43 +08:00
sha2-ce-glue.c crypto: arm64/sha2-ce - prevent asm code finalization in final() path 2015-05-07 11:16:26 +08:00
sha256-core.S_shipped crypto: arm64/sha2 - integrate OpenSSL implementations of SHA256/SHA512 2016-11-28 19:58:05 +08:00
sha256-glue.c crypto: arm64/sha2 - integrate OpenSSL implementations of SHA256/SHA512 2016-11-28 19:58:05 +08:00
sha512-armv8.pl crypto: arm64/sha2 - integrate OpenSSL implementations of SHA256/SHA512 2016-11-28 19:58:05 +08:00
sha512-core.S_shipped crypto: arm64/sha2 - integrate OpenSSL implementations of SHA256/SHA512 2016-11-28 19:58:05 +08:00
sha512-glue.c crypto: arm64/sha2 - integrate OpenSSL implementations of SHA256/SHA512 2016-11-28 19:58:05 +08:00