aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/crypto
diff options
context:
space:
mode:
authorGravatar Ard Biesheuvel <ard.biesheuvel@linaro.org> 2017-01-11 16:41:52 +0000
committerGravatar Herbert Xu <herbert@gondor.apana.org.au> 2017-01-13 00:26:49 +0800
commitbed593c0e852f5c1efd3ca4e984fd744c51cf6ee (patch)
treec3ef5fd3b1f202288c63d037f1b0bf62ea26fd4f /arch/arm/crypto
parentcrypto: arm64/aes-blk - expose AES-CTR as synchronous cipher as well (diff)
downloadlinux-bed593c0e852f5c1efd3ca4e984fd744c51cf6ee.tar.gz
linux-bed593c0e852f5c1efd3ca4e984fd744c51cf6ee.tar.bz2
linux-bed593c0e852f5c1efd3ca4e984fd744c51cf6ee.zip
crypto: arm64/aes - add scalar implementation
This adds a scalar implementation of AES, based on the precomputed tables that are exposed by the generic AES code. Since rotates are cheap on arm64, this implementation only uses the 4 core tables (of 1 KB each), and avoids the prerotated ones, reducing the D-cache footprint by 75%. On Cortex-A57, this code manages 13.0 cycles per byte, which is ~34% faster than the generic C code. (Note that this is still >13x slower than the code that uses the optional ARMv8 Crypto Extensions, which manages <1 cycles per byte.) Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'arch/arm/crypto')
0 files changed, 0 insertions, 0 deletions