From: Bin Meng Date: Tue, 28 Feb 2023 13:45:30 +0000 (+0800) Subject: target/riscv: Allow debugger to access user timer and counter CSRs X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=fb517fdb150b71d6fad8e2332c9aace82143e45f;p=qemu.git target/riscv: Allow debugger to access user timer and counter CSRs At present user timer and counter CSRs are not reported in the CSR XML hence gdb cannot access them. Fix it by adding a debugger check in their predicate() routine. Signed-off-by: Bin Meng Reviewed-by: Weiwei Li Reviewed-by: LIU Zhiwei Message-ID: <20230228104035.1879882-14-bmeng@tinylab.org> Signed-off-by: Palmer Dabbelt --- diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 7284fd8a0d..10ae5df5e6 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -131,6 +131,10 @@ static RISCVException ctr(CPURISCVState *env, int csrno) skip_ext_pmu_check: + if (env->debugger) { + return RISCV_EXCP_NONE; + } + if (env->priv < PRV_M && !get_field(env->mcounteren, ctr_mask)) { return RISCV_EXCP_ILLEGAL_INST; }