Skip to content

Commit fd141e9

Browse files
authored
Merge pull request #1733 from chihminchao/fix-ssqosid
ssqosid: modify permission check condition for srmcfg
2 parents 985837a + 4fe12b2 commit fd141e9

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

riscv/csrs.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1751,8 +1751,6 @@ srmcfg_csr_t::srmcfg_csr_t(processor_t* const proc, const reg_t addr, const reg_
17511751
}
17521752

17531753
void srmcfg_csr_t::verify_permissions(insn_t insn, bool write) const {
1754-
csr_t::verify_permissions(insn, write);
1755-
17561754
if (!proc->extension_enabled(EXT_SSQOSID))
17571755
throw trap_illegal_instruction(insn.bits());
17581756

@@ -1763,6 +1761,10 @@ void srmcfg_csr_t::verify_permissions(insn_t insn, bool write) const {
17631761

17641762
if (state->v)
17651763
throw trap_virtual_instruction(insn.bits());
1764+
1765+
if (state->prv < PRV_S) {
1766+
throw trap_illegal_instruction(insn.bits());
1767+
}
17661768
}
17671769

17681770
hvip_csr_t::hvip_csr_t(processor_t* const proc, const reg_t addr, const reg_t init):

0 commit comments

Comments
 (0)