diff options
| author | Anton Johansson <anjo@rev.ng> | 2026-05-20 14:54:02 +0200 |
|---|---|---|
| committer | Alistair Francis <alistair.francis@wdc.com> | 2026-06-15 13:10:15 +1000 |
| commit | e59bd5cdb7d28a8ea0ee0b3ddabad17b296386a5 (patch) | |
| tree | 43a5ce419044b7a66e369e6459f23a4d07c7348c /linux-user | |
| parent | cfc1d1ade17c598999e5bd1283e6c0fa9e5fe7b5 (diff) | |
| download | qemu-e59bd5cdb7d28a8ea0ee0b3ddabad17b296386a5.tar.gz qemu-e59bd5cdb7d28a8ea0ee0b3ddabad17b296386a5.zip | |
target/riscv: Introduce externally facing CSR access functions
Convert riscv_csr_[read|write]() into target_ulong angnostic CSR access
functions that can be safely used from outside of target/ without
knowledge of the target register size. Replace the 4 existing CSR
accesses in hw/ and linux-user/.
Signed-off-by: Anton Johansson <anjo@rev.ng>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-ID: <20260520125406.28693-25-anjo@rev.ng>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Diffstat (limited to 'linux-user')
| -rw-r--r-- | linux-user/riscv/signal.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/linux-user/riscv/signal.c b/linux-user/riscv/signal.c index 358fa1d82d..9d5ba300e4 100644 --- a/linux-user/riscv/signal.c +++ b/linux-user/riscv/signal.c @@ -90,7 +90,8 @@ static void setup_sigcontext(struct target_sigcontext *sc, CPURISCVState *env) __put_user(env->fpr[i], &sc->fpr[i]); } - uint32_t fcsr = riscv_csr_read(env, CSR_FCSR); + uint64_t fcsr; + riscv_csr_read_i64(env, CSR_FCSR, &fcsr); __put_user(fcsr, &sc->fcsr); } @@ -159,7 +160,7 @@ static void restore_sigcontext(CPURISCVState *env, struct target_sigcontext *sc) uint32_t fcsr; __get_user(fcsr, &sc->fcsr); - riscv_csr_write(env, CSR_FCSR, fcsr); + riscv_csr_write_i64(env, CSR_FCSR, fcsr); } static void restore_ucontext(CPURISCVState *env, struct target_ucontext *uc) |
