target/riscv: fix csr check for cycle{h}, instret{h}, time{h}, hpmcounter3-31{h}
authorWeiwei Li <liweiwei@iscas.ac.cn>
Wed, 17 Aug 2022 08:37:56 +0000 (16:37 +0800)
committerAlistair Francis <alistair@alistair23.me>
Mon, 26 Sep 2022 21:04:38 +0000 (07:04 +1000)
commita412829406905a7edf7a33ded754f89f50a33af1
tree32d69a59506230c032da7848791ec0cee50cac5b
parent513eb437aef7687ad1963d935ffb884fff3c4775
target/riscv: fix csr check for cycle{h}, instret{h}, time{h}, hpmcounter3-31{h}

- modify check for mcounteren to work in all less-privilege mode
- modify check for scounteren to work only when S mode is enabled
- distinguish the exception type raised by check for scounteren between U
and VU mode

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20220817083756.12471-1-liweiwei@iscas.ac.cn>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
target/riscv/csr.c