linux-stable/arch/riscv/crypto
Jerry Shih b3415925a0
crypto: riscv - add vector crypto accelerated SHA-{512,384}
Add an implementation of SHA-512 and SHA-384 using the Zvknhb extension.
The assembly code is derived from OpenSSL code (openssl/openssl#21923)
that was dual-licensed so that it could be reused in the kernel.
Nevertheless, the assembly has been significantly reworked for
integration with the kernel, for example by using a regular .S file
instead of the so-called perlasm, using the assembler instead of bare
'.inst', and greatly reducing code duplication.

Co-developed-by: Charalampos Mitrodimas <charalampos.mitrodimas@vrull.eu>
Signed-off-by: Charalampos Mitrodimas <charalampos.mitrodimas@vrull.eu>
Co-developed-by: Heiko Stuebner <heiko.stuebner@vrull.eu>
Signed-off-by: Heiko Stuebner <heiko.stuebner@vrull.eu>
Co-developed-by: Phoebe Chen <phoebe.chen@sifive.com>
Signed-off-by: Phoebe Chen <phoebe.chen@sifive.com>
Signed-off-by: Jerry Shih <jerry.shih@sifive.com>
Co-developed-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Link: https://lore.kernel.org/r/20240122002024.27477-9-ebiggers@kernel.org
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2024-01-22 17:55:22 -08:00
..
aes-macros.S crypto: riscv - add vector crypto accelerated AES-{ECB,CBC,CTR,XTS} 2024-01-22 17:55:18 -08:00
aes-riscv64-glue.c crypto: riscv - add vector crypto accelerated AES-{ECB,CBC,CTR,XTS} 2024-01-22 17:55:18 -08:00
aes-riscv64-zvkned-zvbb-zvkg.S crypto: riscv - add vector crypto accelerated AES-{ECB,CBC,CTR,XTS} 2024-01-22 17:55:18 -08:00
aes-riscv64-zvkned-zvkb.S crypto: riscv - add vector crypto accelerated AES-{ECB,CBC,CTR,XTS} 2024-01-22 17:55:18 -08:00
aes-riscv64-zvkned.S crypto: riscv - add vector crypto accelerated AES-{ECB,CBC,CTR,XTS} 2024-01-22 17:55:18 -08:00
chacha-riscv64-glue.c crypto: riscv - add vector crypto accelerated ChaCha20 2024-01-22 17:55:19 -08:00
chacha-riscv64-zvkb.S crypto: riscv - add vector crypto accelerated ChaCha20 2024-01-22 17:55:19 -08:00
ghash-riscv64-glue.c crypto: riscv - add vector crypto accelerated GHASH 2024-01-22 17:55:20 -08:00
ghash-riscv64-zvkg.S crypto: riscv - add vector crypto accelerated GHASH 2024-01-22 17:55:20 -08:00
Kconfig crypto: riscv - add vector crypto accelerated SHA-{512,384} 2024-01-22 17:55:22 -08:00
Makefile crypto: riscv - add vector crypto accelerated SHA-{512,384} 2024-01-22 17:55:22 -08:00
sha256-riscv64-glue.c crypto: riscv - add vector crypto accelerated SHA-{256,224} 2024-01-22 17:55:21 -08:00
sha256-riscv64-zvknha_or_zvknhb-zvkb.S crypto: riscv - add vector crypto accelerated SHA-{256,224} 2024-01-22 17:55:21 -08:00
sha512-riscv64-glue.c crypto: riscv - add vector crypto accelerated SHA-{512,384} 2024-01-22 17:55:22 -08:00
sha512-riscv64-zvknhb-zvkb.S crypto: riscv - add vector crypto accelerated SHA-{512,384} 2024-01-22 17:55:22 -08:00