Signed-off-by: LIU Zhiwei <zhiwei_...@c-sky.com> --- target/riscv/pmp.c | 11 ++--------- target/riscv/pmp.h | 2 +- 2 files changed, 3 insertions(+), 10 deletions(-)
diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c index ca38087574..4850a9cc5d 100644 --- a/target/riscv/pmp.c +++ b/target/riscv/pmp.c @@ -620,16 +620,15 @@ static target_ulong pmp_get_tlb_size(CPURISCVState *env, int pmp_index, * Check is there a PMP entry which range covers this page. If so, * try to find the minimum granularity for the TLB size. */ -bool pmp_is_range_in_tlb(CPURISCVState *env, hwaddr tlb_sa, +void pmp_is_range_in_tlb(CPURISCVState *env, hwaddr tlb_sa, target_ulong *tlb_size) { int i; target_ulong val; target_ulong tlb_ea = (tlb_sa + *tlb_size - 1); - target_ulong old_size = *tlb_size; if (pmp_get_num_rules(env) == 0) { - return false; + return; } for (i = 0; i < MAX_RISCV_PMPS; i++) { @@ -640,12 +639,6 @@ bool pmp_is_range_in_tlb(CPURISCVState *env, hwaddr tlb_sa, } } } - - if (*tlb_size != old_size) { - return true; - } - - return false; } /* diff --git a/target/riscv/pmp.h b/target/riscv/pmp.h index a9a0b363a7..69395472f9 100644 --- a/target/riscv/pmp.h +++ b/target/riscv/pmp.h @@ -71,7 +71,7 @@ target_ulong pmpaddr_csr_read(CPURISCVState *env, uint32_t addr_index); bool pmp_hart_has_privs(CPURISCVState *env, target_ulong addr, target_ulong size, pmp_priv_t privs, pmp_priv_t *allowed_privs, target_ulong mode); -bool pmp_is_range_in_tlb(CPURISCVState *env, hwaddr tlb_sa, +void pmp_is_range_in_tlb(CPURISCVState *env, hwaddr tlb_sa, target_ulong *tlb_size); void pmp_update_rule_addr(CPURISCVState *env, uint32_t pmp_index); void pmp_update_rule_nums(CPURISCVState *env); -- 2.25.1