diff options
author | Hongren Zheng <i@zenithal.me> | 2024-04-26 08:03:43 +0200 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2024-05-10 17:02:49 +0200 |
commit | 87314d24c4f025df1ebf47dc527cc8a96bef354a (patch) | |
tree | 1dcb2c2e0ddf6a5239995e1ffed779c65ba4a098 /crypto | |
parent | tls_provider_init(): Rename prov_ctx to xor_prov_ctx to clarify (diff) | |
download | openssl-87314d24c4f025df1ebf47dc527cc8a96bef354a.tar.xz openssl-87314d24c4f025df1ebf47dc527cc8a96bef354a.zip |
Implement riscv_vlen_asm for riscv32
riscvcap.c: undefined reference to 'riscv_vlen_asm'
Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24270)
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/riscv32cpuid.pl | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/crypto/riscv32cpuid.pl b/crypto/riscv32cpuid.pl index 20694e7de7..ac1c043ec9 100644 --- a/crypto/riscv32cpuid.pl +++ b/crypto/riscv32cpuid.pl @@ -84,5 +84,22 @@ OPENSSL_cleanse: ___ } +{ +my ($ret) = ('a0'); +$code .= <<___; +################################################################################ +# size_t riscv_vlen_asm(void) +# Return VLEN (i.e. the length of a vector register in bits). +.p2align 3 +.globl riscv_vlen_asm +.type riscv_vlen_asm,\@function +riscv_vlen_asm: + csrr $ret, vlenb + slli $ret, $ret, 3 + ret +.size riscv_vlen_asm,.-riscv_vlen_asm +___ +} + print $code; close STDOUT or die "error closing STDOUT: $!"; |