diff options
author | Henry Brausen <henry.brausen@vrull.eu> | 2022-01-28 01:13:04 -0700 |
---|---|---|
committer | Pauli <pauli@openssl.org> | 2022-05-19 16:32:49 +1000 |
commit | b3504b600c028a00f36cdbfedc928a48df9818ff (patch) | |
tree | ac4885d461554f0dfe9204527a51dca20969d68c /crypto/aes/build.info | |
parent | ec26144288fd6dce6dd76bd9e2b192b495033723 (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.info | 5 |
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 |