summaryrefslogtreecommitdiffstats
path: root/crypto/aes/build.info
diff options
context:
space:
mode:
authorHenry Brausen <henry.brausen@vrull.eu>2022-01-28 01:13:04 -0700
committerPauli <pauli@openssl.org>2022-05-19 16:32:49 +1000
commitb3504b600c028a00f36cdbfedc928a48df9818ff (patch)
treeac4885d461554f0dfe9204527a51dca20969d68c /crypto/aes/build.info
parentec26144288fd6dce6dd76bd9e2b192b495033723 (diff)
Add AES implementation in generic riscv64 asm
This implementation is based on the four-table approach, along the same lines as the non-constant-time implementation in aes_core.c The implementation is in perlasm. Utility functions are defined to automatically stack/unstack registers as needed for prologues and epilogues. See riscv-elf-psabi-doc at https://github.com/riscv-non-isa/riscv-elf-psabi-doc/ for ABI details. Reviewed-by: Philipp Tomsich <philipp.tomsich@vrull.eu> Signed-off-by: Henry Brausen <henry.brausen@vrull.eu> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17640)
Diffstat (limited to 'crypto/aes/build.info')
-rw-r--r--crypto/aes/build.info5
1 files changed, 5 insertions, 0 deletions
diff --git a/crypto/aes/build.info b/crypto/aes/build.info
index c364eec55d..13aa6d55e5 100644
--- a/crypto/aes/build.info
+++ b/crypto/aes/build.info
@@ -47,6 +47,9 @@ IF[{- !$disabled{asm} -}]
# aes-c64xplus.s implements AES_ctr32_encrypt
$AESDEF_c64xplus=AES_ASM AES_CTR_ASM
+ $AESASM_riscv64=aes_cbc.c aes-riscv64.s
+ $AESDEF_riscv64=AES_ASM
+
# Now that we have defined all the arch specific variables, use the
# appropriate one, and define the appropriate macros
IF[$AESASM_{- $target{asm_arch} -}]
@@ -114,6 +117,8 @@ GENERATE[aes-parisc.s]=asm/aes-parisc.pl
GENERATE[aes-mips.S]=asm/aes-mips.pl
INCLUDE[aes-mips.o]=..
+GENERATE[aes-riscv64.s]=asm/aes-riscv64.pl
+
GENERATE[aesv8-armx.S]=asm/aesv8-armx.pl
INCLUDE[aesv8-armx.o]=..
GENERATE[vpaes-armv8.S]=asm/vpaes-armv8.pl