[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 17/20] target/riscv: remove riscv_cpu_sync_misa_cfg()
From: |
Daniel Henrique Barboza |
Subject: |
[PATCH v3 17/20] target/riscv: remove riscv_cpu_sync_misa_cfg() |
Date: |
Wed, 29 Mar 2023 14:29:00 -0300 |
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>
---
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
- [PATCH v3 07/20] target/riscv: remove cpu->cfg.ext_d, (continued)
- [PATCH v3 07/20] target/riscv: remove cpu->cfg.ext_d, Daniel Henrique Barboza, 2023/03/29
- [PATCH v3 11/20] target/riscv: remove cpu->cfg.ext_m, Daniel Henrique Barboza, 2023/03/29
- [PATCH v3 10/20] target/riscv: remove cpu->cfg.ext_e, Daniel Henrique Barboza, 2023/03/29
- [PATCH v3 08/20] target/riscv: remove cpu->cfg.ext_f, Daniel Henrique Barboza, 2023/03/29
- [PATCH v3 13/20] target/riscv: remove cpu->cfg.ext_u, Daniel Henrique Barboza, 2023/03/29
- [PATCH v3 09/20] target/riscv: remove cpu->cfg.ext_i, Daniel Henrique Barboza, 2023/03/29
- [PATCH v3 12/20] target/riscv: remove cpu->cfg.ext_s, Daniel Henrique Barboza, 2023/03/29
- [PATCH v3 14/20] target/riscv: remove cpu->cfg.ext_h, Daniel Henrique Barboza, 2023/03/29
- [PATCH v3 15/20] target/riscv: remove cpu->cfg.ext_j, Daniel Henrique Barboza, 2023/03/29
- [PATCH v3 16/20] target/riscv: remove cpu->cfg.ext_v, Daniel Henrique Barboza, 2023/03/29
- [PATCH v3 17/20] target/riscv: remove riscv_cpu_sync_misa_cfg(),
Daniel Henrique Barboza <=
- [PATCH v3 18/20] target/riscv: remove cfg.ext_g setup from rv64_thead_c906_cpu_init(), Daniel Henrique Barboza, 2023/03/29
- [PATCH v3 19/20] target/riscv: add RVG and remove cpu->cfg.ext_g, Daniel Henrique Barboza, 2023/03/29
- [PATCH v3 20/20] target/riscv/cpu.c: redesign register_cpu_props(), Daniel Henrique Barboza, 2023/03/29