mirror of https://github.com/xemu-project/xemu.git
target/riscv/csr.c: simplify mctr()
Use riscv_cpu_cfg() to retrieve pmu_num. Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-ID: <20230224174520.92490-3-dbarboza@ventanamicro.com> Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
This commit is contained in:
parent
3c7d54f945
commit
96b1b00058
|
@ -165,8 +165,7 @@ static RISCVException ctr32(CPURISCVState *env, int csrno)
|
||||||
#if !defined(CONFIG_USER_ONLY)
|
#if !defined(CONFIG_USER_ONLY)
|
||||||
static RISCVException mctr(CPURISCVState *env, int csrno)
|
static RISCVException mctr(CPURISCVState *env, int csrno)
|
||||||
{
|
{
|
||||||
CPUState *cs = env_cpu(env);
|
int pmu_num = riscv_cpu_cfg(env)->pmu_num;
|
||||||
RISCVCPU *cpu = RISCV_CPU(cs);
|
|
||||||
int ctr_index;
|
int ctr_index;
|
||||||
int base_csrno = CSR_MHPMCOUNTER3;
|
int base_csrno = CSR_MHPMCOUNTER3;
|
||||||
|
|
||||||
|
@ -175,7 +174,7 @@ static RISCVException mctr(CPURISCVState *env, int csrno)
|
||||||
base_csrno += 0x80;
|
base_csrno += 0x80;
|
||||||
}
|
}
|
||||||
ctr_index = csrno - base_csrno;
|
ctr_index = csrno - base_csrno;
|
||||||
if (!cpu->cfg.pmu_num || ctr_index >= cpu->cfg.pmu_num) {
|
if (!pmu_num || ctr_index >= pmu_num) {
|
||||||
/* The PMU is not enabled or counter is out of range*/
|
/* The PMU is not enabled or counter is out of range*/
|
||||||
return RISCV_EXCP_ILLEGAL_INST;
|
return RISCV_EXCP_ILLEGAL_INST;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue