linux_dsm_epyc7002/arch/arm64
Ard Biesheuvel 1abee99eaf crypto: arm64/aes - reimplement bit-sliced ARM/NEON implementation for arm64
This is a reimplementation of the NEON version of the bit-sliced AES
algorithm. This code is heavily based on Andy Polyakov's OpenSSL version
for ARM, which is also available in the kernel. This is an alternative for
the existing NEON implementation for arm64 authored by me, which suffers
from poor performance due to its reliance on the pathologically slow four
register variant of the tbl/tbx NEON instruction.

This version is about ~30% (*) faster than the generic C code, but only in
cases where the input can be 8x interleaved (this is a fundamental property
of bit slicing). For this reason, only the chaining modes ECB, XTS and CTR
are implemented. (The significance of ECB is that it could potentially be
used by other chaining modes)

* Measured on Cortex-A57. Note that this is still an order of magnitude
  slower than the implementations that use the dedicated AES instructions
  introduced in ARMv8, but those are part of an optional extension, and so
  it is good to have a fallback.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2017-01-13 00:26:51 +08:00
..
boot Amlogic fixes for v4.10 2017-01-04 16:42:00 +01:00
configs ARM64: defconfig: enable DRM_MESON as module 2017-01-03 09:31:13 -08:00
crypto crypto: arm64/aes - reimplement bit-sliced ARM/NEON implementation for arm64 2017-01-13 00:26:51 +08:00
include arm64: restore get_current() optimisation 2017-01-04 16:26:18 +00:00
kernel arm64: don't pull uaccess.h into *.S 2016-12-26 13:05:17 -05:00
kvm Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
lib arm64: don't pull uaccess.h into *.S 2016-12-26 13:05:17 -05:00
mm - Re-introduce the arm64 get_current() optimisation 2017-01-06 15:18:58 -08:00
net arm64: bpf: optimize LD_ABS, LD_IND 2016-06-10 23:11:50 -07:00
xen arm64: don't pull uaccess.h into *.S 2016-12-26 13:05:17 -05:00
Kconfig arm64 updates for 4.10: 2016-12-13 16:39:21 -08:00
Kconfig.debug arm64: dump: Add checking for writable and exectuable pages 2016-11-07 18:15:04 +00:00
Kconfig.platforms ARM: SoC driver updates for v4.10 2016-12-15 16:03:25 -08:00
Makefile arm64: Add detection code for broken .inst support in binutils 2016-12-06 15:54:21 +00:00