diff options
| author | Andrew Bresticker <abrestic@rivosinc.com> | 2022-12-15 17:45:40 -0500 |
|---|---|---|
| committer | Alistair Francis <alistair.francis@wdc.com> | 2023-01-20 10:14:14 +1000 |
| commit | 06d85c24c28f42a57680dc21955e343f58d93089 (patch) | |
| tree | 830eeae2f61ae6c287aff923bc6eafd912e6d999 /linux-user/syscall.c | |
| parent | 9c3ee7e84781909d5a114350c35554f0886491ba (diff) | |
| download | focaccia-qemu-06d85c24c28f42a57680dc21955e343f58d93089.tar.gz focaccia-qemu-06d85c24c28f42a57680dc21955e343f58d93089.zip | |
target/riscv: Fix up masking of vsip/vsie accesses
The current logic attempts to shift the VS-level bits into their correct
position in mip while leaving the remaining bits in-tact. This is both
pointless and likely incorrect since one would expect that any new, future
VS-level interrupts will get their own position in mip rather than sharing
with their (H)S-level equivalent. Fix this, and make the logic more
readable, by just making off the VS-level bits and shifting them into
position.
This also fixes reads of vsip, which would only ever report vsip.VSSIP
since the non-writable bits got masked off as well.
Fixes: d028ac7512f1 ("arget/riscv: Implement AIA CSRs for 64 local interrupts on RV32")
Signed-off-by: Andrew Bresticker <abrestic@rivosinc.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20221215224541.1423431-1-abrestic@rivosinc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Diffstat (limited to 'linux-user/syscall.c')
0 files changed, 0 insertions, 0 deletions