|
@@ -524,7 +524,7 @@ void pmpaddr_csr_write(CPURISCVState *env, uint32_t addr_index,
|
|
uint8_t pmp_cfg = env->pmp_state.pmp[addr_index + 1].cfg_reg;
|
|
uint8_t pmp_cfg = env->pmp_state.pmp[addr_index + 1].cfg_reg;
|
|
is_next_cfg_tor = PMP_AMATCH_TOR == pmp_get_a_field(pmp_cfg);
|
|
is_next_cfg_tor = PMP_AMATCH_TOR == pmp_get_a_field(pmp_cfg);
|
|
|
|
|
|
- if (pmp_cfg & PMP_LOCK && is_next_cfg_tor) {
|
|
|
|
|
|
+ if (pmp_is_locked(env, addr_index + 1) && is_next_cfg_tor) {
|
|
qemu_log_mask(LOG_GUEST_ERROR,
|
|
qemu_log_mask(LOG_GUEST_ERROR,
|
|
"ignoring pmpaddr write - pmpcfg + 1 locked\n");
|
|
"ignoring pmpaddr write - pmpcfg + 1 locked\n");
|
|
return;
|
|
return;
|