diff options
| author | Eric Biggers <ebiggers@kernel.org> | 2026-03-18 23:17:14 -0700 |
|---|---|---|
| committer | Eric Biggers <ebiggers@kernel.org> | 2026-03-23 16:44:29 -0700 |
| commit | efd1d2c8f3c073c43d5616d0c2d698cbe8a3ecde (patch) | |
| tree | 759c79d14e643466727ebb4c7c581d5cf5485fd7 /include | |
| parent | af413d71f09d4dde28277319926c1c3a6ec8b8d4 (diff) | |
| download | linux-efd1d2c8f3c073c43d5616d0c2d698cbe8a3ecde.tar.gz linux-efd1d2c8f3c073c43d5616d0c2d698cbe8a3ecde.zip | |
lib/crypto: s390/ghash: Migrate optimized code into library
Remove the "ghash-s390" crypto_shash algorithm, and replace it with an
implementation of ghash_blocks_arch() for the GHASH library.
This makes the GHASH library be optimized with CPACF. It also greatly
reduces the amount of s390-specific glue code that is needed, and it
fixes the issue where this GHASH optimization was disabled by default.
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20260319061723.1140720-14-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/crypto/gf128hash.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/crypto/gf128hash.h b/include/crypto/gf128hash.h index b798438cce23..0bc649d01e12 100644 --- a/include/crypto/gf128hash.h +++ b/include/crypto/gf128hash.h @@ -44,7 +44,8 @@ struct ghash_key { #if defined(CONFIG_CRYPTO_LIB_GF128HASH_ARCH) && defined(CONFIG_PPC64) /** @htable: GHASH key format used by the POWER8 assembly code */ u64 htable[4][2]; -#elif defined(CONFIG_CRYPTO_LIB_GF128HASH_ARCH) && defined(CONFIG_RISCV) +#elif defined(CONFIG_CRYPTO_LIB_GF128HASH_ARCH) && \ + (defined(CONFIG_RISCV) || defined(CONFIG_S390)) /** @h_raw: The hash key H, in GHASH format */ u8 h_raw[GHASH_BLOCK_SIZE]; #endif |
