qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 17/20] target/riscv: remove riscv_cpu_sync_misa_cfg()


From: Alistair Francis
Subject: Re: [PATCH v3 17/20] target/riscv: remove riscv_cpu_sync_misa_cfg()
Date: Thu, 6 Apr 2023 10:22:10 +1000

On Thu, Mar 30, 2023 at 3:31 AM Daniel Henrique Barboza
<dbarboza@ventanamicro.com> wrote:
>
> This function was created to move the sync between cpu->cfg.ext_N bit
> changes to env->misa_ext* from the validation step to an ealier step,
> giving us a guarantee that we could use either cpu->cfg.ext_N or
> riscv_has_ext(env,N) in the validation.
>
> We don't have any cpu->cfg.ext_N left that has an existing MISA bit
> (cfg.ext_g will be handled shortly). The function is now a no-op, simply
> copying the existing values of misa_ext* back to misa_ext*.
>
> Remove it.
>
> Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
> Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  target/riscv/cpu.c | 52 ----------------------------------------------
>  1 file changed, 52 deletions(-)
>
> diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
> index b40a55bc8d..3eb3b7dc59 100644
> --- a/target/riscv/cpu.c
> +++ b/target/riscv/cpu.c
> @@ -1081,50 +1081,6 @@ static void riscv_cpu_finalize_features(RISCVCPU *cpu, 
> Error **errp)
>  #endif
>  }
>
> -static void riscv_cpu_sync_misa_cfg(CPURISCVState *env)
> -{
> -    uint32_t ext = 0;
> -
> -    if (riscv_has_ext(env, RVI)) {
> -        ext |= RVI;
> -    }
> -    if (riscv_has_ext(env, RVE)) {
> -        ext |= RVE;
> -    }
> -    if (riscv_has_ext(env, RVM)) {
> -        ext |= RVM;
> -    }
> -    if (riscv_has_ext(env, RVA)) {
> -        ext |= RVA;
> -    }
> -    if (riscv_has_ext(env, RVF)) {
> -        ext |= RVF;
> -    }
> -    if (riscv_has_ext(env, RVD)) {
> -        ext |= RVD;
> -    }
> -    if (riscv_has_ext(env, RVC)) {
> -        ext |= RVC;
> -    }
> -    if (riscv_has_ext(env, RVS)) {
> -        ext |= RVS;
> -    }
> -    if (riscv_has_ext(env, RVU)) {
> -        ext |= RVU;
> -    }
> -    if (riscv_has_ext(env, RVH)) {
> -        ext |= RVH;
> -    }
> -    if (riscv_has_ext(env, RVV)) {
> -        ext |= RVV;
> -    }
> -    if (riscv_has_ext(env, RVJ)) {
> -        ext |= RVJ;
> -    }
> -
> -    env->misa_ext = env->misa_ext_mask = ext;
> -}
> -
>  static void riscv_cpu_validate_misa_priv(CPURISCVState *env, Error **errp)
>  {
>      if (riscv_has_ext(env, RVH) && env->priv_ver < PRIV_VERSION_1_12_0) {
> @@ -1168,14 +1124,6 @@ static void riscv_cpu_realize(DeviceState *dev, Error 
> **errp)
>          set_priv_version(env, priv_version);
>      }
>
> -    /*
> -     * We can't be sure of whether we set defaults during cpu_init()
> -     * or whether the user enabled/disabled some bits via cpu->cfg
> -     * flags. Sync env->misa_ext with cpu->cfg now to allow us to
> -     * use just env->misa_ext later.
> -     */
> -    riscv_cpu_sync_misa_cfg(env);
> -
>      riscv_cpu_validate_misa_priv(env, &local_err);
>      if (local_err != NULL) {
>          error_propagate(errp, local_err);
> --
> 2.39.2
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]