mirror-linux/arch
Eric Biggers 71e59795c9 lib/crypto: arm/ghash: Migrate optimized code into library
Remove the "ghash-neon" crypto_shash algorithm.  Move the corresponding
assembly code into lib/crypto/, and wire it up to the GHASH library.

This makes the GHASH library be optimized on arm (though only with NEON,
not PMULL; for now the goal is just parity with crypto_shash).  It
greatly reduces the amount of arm-specific glue code that is needed, and
it fixes the issue where this optimization was disabled by default.

To integrate the assembly code correctly with the library, make the
following tweaks:

- Change the type of 'blocks' from int to size_t.
- Change the types of 'dg' and 'h' to polyval_elem.  Note that this
  simply reflects the format that the code was already using, at least
  on little endian CPUs.  For big endian CPUs, add byte-swaps.
- Remove the 'head' argument, which is no longer needed.

Acked-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20260319061723.1140720-8-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
2026-03-23 15:24:54 -07:00
..
alpha kbuild: Split .modinfo out from ELF_DETAILS 2026-02-26 11:50:19 -07:00
arc kbuild: Split .modinfo out from ELF_DETAILS 2026-02-26 11:50:19 -07:00
arm lib/crypto: arm/ghash: Migrate optimized code into library 2026-03-23 15:24:54 -07:00
arm64 lib/crypto: arm64/aes: Migrate optimized CBC-based MACs into library 2026-03-09 13:27:20 -07:00
csky kbuild: Split .modinfo out from ELF_DETAILS 2026-02-26 11:50:19 -07:00
hexagon kbuild: Split .modinfo out from ELF_DETAILS 2026-02-26 11:50:19 -07:00
loongarch Second round of Kbuild fixes for 7.0 2026-03-06 20:27:13 -08:00
m68k kbuild: Split .modinfo out from ELF_DETAILS 2026-02-26 11:50:19 -07:00
microblaze mm.git review status for linus..mm-stable 2026-02-12 11:32:37 -08:00
mips Second round of Kbuild fixes for 7.0 2026-03-06 20:27:13 -08:00
nios2 kbuild: Split .modinfo out from ELF_DETAILS 2026-02-26 11:50:19 -07:00
openrisc kbuild: Split .modinfo out from ELF_DETAILS 2026-02-26 11:50:19 -07:00
parisc parisc architecture fixes for kernel v7.0-rc3: 2026-03-07 12:38:16 -08:00
powerpc Second round of Kbuild fixes for 7.0 2026-03-06 20:27:13 -08:00
riscv Second round of Kbuild fixes for 7.0 2026-03-06 20:27:13 -08:00
s390 Second round of Kbuild fixes for 7.0 2026-03-06 20:27:13 -08:00
sh kbuild: Split .modinfo out from ELF_DETAILS 2026-02-26 11:50:19 -07:00
sparc Second round of Kbuild fixes for 7.0 2026-03-06 20:27:13 -08:00
um Second round of Kbuild fixes for 7.0 2026-03-06 20:27:13 -08:00
x86 EFI fixes for v7.0 #2 2026-03-08 12:13:09 -07:00
xtensa Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
.gitignore
Kconfig sched: Move clock related paravirt code to kernel/sched 2026-01-12 15:39:14 +01:00