android_kernel_motorola_sm6375/arch
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jason A. Donenfeld 21f52ecc1d
UPSTREAM: crypto: arm/curve25519 - wire up NEON implementation
This ports the SUPERCOP implementation for usage in kernel space. In
addition to the usual header, macro, and style changes required for
kernel space, it makes a few small changes to the code:

  - The stack alignment is relaxed to 16 bytes.
  - Superfluous mov statements have been removed.
  - ldr for constants has been replaced with movw.
  - ldreq has been replaced with moveq.
  - The str epilogue has been made more idiomatic.
  - SIMD registers are not pushed and popped at the beginning and end.
  - The prologue and epilogue have been made idiomatic.
  - A hole has been removed from the stack, saving 32 bytes.
  - We write-back the base register whenever possible for vld1.8.
  - Some multiplications have been reordered for better A7 performance.

There are more opportunities for cleanup, since this code is from qhasm,
which doesn't always do the most opportune thing. But even prior to
extensive hand optimizations, this code delivers significant performance
improvements (given in get_cycles() per call):

		      ----------- -------------
	             | generic C | this commit |
	 ------------ ----------- -------------
	| Cortex-A7  |     49136 |       22395 |
	 ------------ ----------- -------------
	| Cortex-A17 |     17326 |        4983 |
	 ------------ ----------- -------------

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
[ardb: - move to arch/arm/crypto
       - wire into lib/crypto framework
       - implement crypto API KPP hooks ]
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit d8f1308a025fc7e00414194ed742d5f05a21e13c)
Bug: 152722841
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Change-Id: I2c4c1629f3c9d074949397e211b71bddb98e8313
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-09-24 12:16:31 +02:00
..
alpha UPSTREAM: mm: allow VM_FAULT_RETRY for multiple times 2025-05-18 08:08:42 +00:00
arc UPSTREAM: mm: allow VM_FAULT_RETRY for multiple times 2025-05-18 08:08:42 +00:00
arm UPSTREAM: crypto: arm/curve25519 - wire up NEON implementation 2025-09-24 12:16:31 +02:00
arm64 UPSTREAM: crypto: arm64/poly1305 - incorporate OpenSSL/CRYPTOGAMS NEON implementation 2025-09-24 12:16:30 +02:00
c6x
csky
h8300
hexagon UPSTREAM: mm: allow VM_FAULT_RETRY for multiple times 2025-05-18 08:08:42 +00:00
ia64 UPSTREAM: mm: allow VM_FAULT_RETRY for multiple times 2025-05-18 08:08:42 +00:00
m68k Merge tag 'ASB-2025-08-05_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina 2025-09-01 13:17:46 +03:00
microblaze UPSTREAM: mm: allow VM_FAULT_RETRY for multiple times 2025-05-18 08:08:42 +00:00
mips UPSTREAM: crypto: mips/poly1305 - incorporate OpenSSL/CRYPTOGAMS optimized implementation 2025-09-24 12:16:31 +02:00
nds32 UPSTREAM: mm: allow VM_FAULT_RETRY for multiple times 2025-05-18 08:08:42 +00:00
nios2 Merge tag 'ASB-2025-08-05_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina 2025-09-01 13:17:46 +03:00
openrisc UPSTREAM: mm: allow VM_FAULT_RETRY for multiple times 2025-05-18 08:08:42 +00:00
parisc Merge tag 'ASB-2025-08-05_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina 2025-09-01 13:17:46 +03:00
powerpc Merge tag 'ASB-2025-09-05_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina 2025-09-12 18:48:05 +03:00
riscv Merge tag 'ASB-2025-06-05_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina 2025-06-30 10:49:17 +03:00
s390 Merge tag 'ASB-2025-09-05_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina 2025-09-12 18:48:05 +03:00
sh UPSTREAM: mm: allow VM_FAULT_RETRY for multiple times 2025-05-18 08:08:42 +00:00
sparc Merge tag 'ASB-2025-06-05_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina 2025-06-30 10:49:17 +03:00
um Merge tag 'ASB-2025-09-05_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina 2025-09-12 18:48:05 +03:00
unicore32 UPSTREAM: mm: allow VM_FAULT_RETRY for multiple times 2025-05-18 08:08:42 +00:00
x86 UPSTREAM: crypto: curve25519 - x86_64 library and KPP implementations 2025-09-24 12:16:31 +02:00
xtensa UPSTREAM: mm: allow VM_FAULT_RETRY for multiple times 2025-05-18 08:08:42 +00:00
.gitignore
Kconfig