Message ID | 20230419032725.29721-4-liweiwei@iscas.ac.cn (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | target/riscv: Fix PMP related problem | expand |
On 2023/4/19 11:27, Weiwei Li wrote: > TLB should be flushed not only for pmpcfg csr changes, but also for > pmpaddr csr changes. > > 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> > --- > target/riscv/pmp.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c > index d1ef9457ea..bcd190d3a3 100644 > --- a/target/riscv/pmp.c > +++ b/target/riscv/pmp.c > @@ -537,6 +537,7 @@ void pmpaddr_csr_write(CPURISCVState *env, uint32_t addr_index, > if (!pmp_is_locked(env, addr_index)) { > env->pmp_state.pmp[addr_index].addr_reg = val; > pmp_update_rule(env, addr_index); > + tlb_flush(env_cpu(env)); Reviewed-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com> Zhiwei > } else { > qemu_log_mask(LOG_GUEST_ERROR, > "ignoring pmpaddr write - locked\n");
diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c index d1ef9457ea..bcd190d3a3 100644 --- a/target/riscv/pmp.c +++ b/target/riscv/pmp.c @@ -537,6 +537,7 @@ void pmpaddr_csr_write(CPURISCVState *env, uint32_t addr_index, if (!pmp_is_locked(env, addr_index)) { env->pmp_state.pmp[addr_index].addr_reg = val; pmp_update_rule(env, addr_index); + tlb_flush(env_cpu(env)); } else { qemu_log_mask(LOG_GUEST_ERROR, "ignoring pmpaddr write - locked\n");