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 /util/coroutine-sigaltstack.c | |
parent | 9c3ee7e84781909d5a114350c35554f0886491ba (diff) | |
download | qemu-06d85c24c28f42a57680dc21955e343f58d93089.zip qemu-06d85c24c28f42a57680dc21955e343f58d93089.tar.gz qemu-06d85c24c28f42a57680dc21955e343f58d93089.tar.bz2 |
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 'util/coroutine-sigaltstack.c')
0 files changed, 0 insertions, 0 deletions