Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,12 @@ endif
if CPU_AARCH64
include aes/Makefile.am
endif
if CPU_RISCV64
include aes/Makefile.am
endif
if CPU_UNDEFINED
include aes/Makefile.am
endif
include fips/Makefile.am

# LIB version info not necessarily the same as package version
Expand Down
5 changes: 5 additions & 0 deletions Makefile.unx
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,11 @@ ifneq ($(arch),noarch)
arch = aarch64
units +=aes
endif

ifeq ($(host_cpu)_$(arch),riscv64_)
arch = riscv64
units +=aes
endif
endif

default: lib
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ RISC-V 64:
* For RISC-V Vector (RVV) support:
* Assembler: gas v2.39 or later.
* Compiler: gcc v12.1 or later.
* For RISC-V Vector Crypto (Zvk*) support (Zvkned, Zvkg, Zvkb):
* Assembler: gas v2.42 or later.
* Compiler: gcc v14.1 or later.

other:
* Compiler: Portable base functions are available that build with most C compilers.
Expand Down
32 changes: 32 additions & 0 deletions aes/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -111,10 +111,40 @@ lsrc_aarch64 += aes/aarch64/gcm_multibinary_aarch64.S \
aes/aarch64/cbc_enc_aes.S \
aes/aarch64/cbc_dec_aes.S

lsrc_aes = aes/aes_base.c \
aes/aes_keyexp_base.c \
aes/aes_cbc_base.c \
aes/aes_gcm_base.c \
aes/aes_xts_base.c

lsrc_riscv64 += ${lsrc_aes} \
aes/riscv64/keyexp_multibinary_riscv64.S \
aes/riscv64/keyexp_riscv64_dispatcher.c \
aes/riscv64/cbc_multibinary_riscv64.S \
aes/riscv64/cbc_riscv64_dispatcher.c \
aes/riscv64/cbc_zvkned_wrap.c \
aes/riscv64/cbc_zvkned.S \
aes/riscv64/gcm_multibinary_riscv64.S \
aes/riscv64/gcm_riscv64_dispatcher.c \
aes/riscv64/gcm_ctr32_zvkned_zvkb.S \
aes/riscv64/ghash_zvkg.S \
aes/riscv64/gcm_zvk.c \
aes/riscv64/xts_multibinary_riscv64.S \
aes/riscv64/xts_riscv64_dispatcher.c \
aes/riscv64/aes_block_zvkned.S \
aes/riscv64/xts_zvkned.c

lsrc_base_aliases += ${lsrc_aes} \
aes/aes_keyexp_base_aliases.c \
aes/aes_cbc_base_aliases.c \
aes/aes_gcm_base_aliases.c \
aes/aes_xts_base_aliases.c

other_src += include/multibinary.asm
other_src += include/internal/test.h include/isa-l_crypto/types.h include/reg_sizes.asm
other_src += aes/gcm_defines.asm
other_src += aes/aes_common.asm
other_src += aes/aes_base.h
other_src += aes/clear_regs.asm
other_src += aes/cbc_common.asm aes/cbc_std_vectors.h
other_src += aes/gcm_vectors.h aes/ossl_helper.h
Expand All @@ -125,6 +155,8 @@ other_src += aes/gcm_avx_gen2.asm
other_src += aes/gcm_avx_gen4.asm
other_src += aes/gcm_keys_vaes_avx512.asm
other_src += aes/gcm_vaes_avx512.asm
other_src += aes/riscv64/aes_zvk_internal.h
other_src += aes/riscv64/aes_zvk_macros.S

check_tests += aes/cbc_std_vectors_test
check_tests += aes/gcm_std_vectors_test
Expand Down
Loading
Loading