From 1a7e9af4603a0fb024c9e28ff9389711352155c7 Mon Sep 17 00:00:00 2001 From: YenHaoChen Date: Mon, 5 Dec 2022 21:27:26 +0800 Subject: [PATCH] use extension_enabled('H') instead of extension_enabled_const('H') since misa.H is RW The masked_csr_t does not meet the behavior of mevent because the misa.H is not read-only (hardwired). h/t @kwalker27 reported at https://github.com/riscv-software-src/riscv-isa-sim/pull/1154 --- riscv/csrs.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/riscv/csrs.cc b/riscv/csrs.cc index 2bb85bcf..e23cf03c 100644 --- a/riscv/csrs.cc +++ b/riscv/csrs.cc @@ -1062,7 +1062,7 @@ bool mevent_csr_t::unlogged_write(const reg_t val) noexcept { const reg_t mask = proc->extension_enabled(EXT_SSCOFPMF) ? MHPMEVENT_OF | MHPMEVENT_MINH | (proc->extension_enabled_const('U') ? MHPMEVENT_UINH : 0) | (proc->extension_enabled_const('S') ? MHPMEVENT_SINH : 0) - | (proc->extension_enabled_const('H') ? MHPMEVENT_VUINH | MHPMEVENT_VSINH : 0) : 0; + | (proc->extension_enabled('H') ? MHPMEVENT_VUINH | MHPMEVENT_VSINH : 0) : 0; return basic_csr_t::unlogged_write((read() & ~mask) | (val & mask)); }