On 2023/2/14 12:12, Bin Meng wrote:
> riscv_csrrw_check() already does the generic privilege level check
> hence there is no need to do the specific M-mode access check in
> the mseccfg predicate().
>
> With this change debugger can access the mseccfg CSR anytime.
>
> Signed-off-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Regards,
Weiwei Li
> ---
>
> target/riscv/csr.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/target/riscv/csr.c b/target/riscv/csr.c
> index c6a7745cb2..40aae9e7b3 100644
> --- a/target/riscv/csr.c
> +++ b/target/riscv/csr.c
> @@ -450,7 +450,7 @@ static RISCVException pmp(CPURISCVState *env, int csrno)
>
> static RISCVException epmp(CPURISCVState *env, int csrno)
> {
> - if (env->priv == PRV_M && riscv_feature(env, RISCV_FEATURE_EPMP)) {
> + if (riscv_feature(env, RISCV_FEATURE_EPMP)) {
> return RISCV_EXCP_NONE;
> }
>