aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/crypto/aes-neonbs-core.S
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2017-01-28 23:25:39 +0000
committerHerbert Xu <herbert@gondor.apana.org.au>2017-02-03 18:16:20 +0800
commit12fcd92305880504c9827c99ea128fecf1c99f0d (patch)
tree49a2ccb419da7504484adba42996282c373d950d /arch/arm64/crypto/aes-neonbs-core.S
parentcrypto: arm64/aes-neon-blk - tweak performance for low end cores (diff)
downloadlinux-dev-12fcd92305880504c9827c99ea128fecf1c99f0d.tar.xz
linux-dev-12fcd92305880504c9827c99ea128fecf1c99f0d.zip
crypto: arm64/aes - replace scalar fallback with plain NEON fallback
The new bitsliced NEON implementation of AES uses a fallback in two places: CBC encryption (which is strictly sequential, whereas this driver can only operate efficiently on 8 blocks at a time), and the XTS tweak generation, which involves encrypting a single AES block with a different key schedule. The plain (i.e., non-bitsliced) NEON code is more suitable as a fallback, given that it is faster than scalar on low end cores (which is what the NEON implementations target, since high end cores have dedicated instructions for AES), and shows similar behavior in terms of D-cache footprint and sensitivity to cache timing attacks. So switch the fallback handling to the plain NEON driver. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'arch/arm64/crypto/aes-neonbs-core.S')
0 files changed, 0 insertions, 0 deletions