target/riscv/tcg: add hash table insert helpers
Previous patches added several g_hash_table_insert() patterns. Add two helpers, one for each user hash, to make the code cleaner. Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> Reviewed-by: Andrew Jones <ajones@ventanamicro.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-ID: <20231218125334.37184-15-dbarboza@ventanamicro.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
3ba8462c4c
commit
5187ba5b30
@ -42,6 +42,18 @@ static bool cpu_cfg_ext_is_user_set(uint32_t ext_offset)
|
||||
GUINT_TO_POINTER(ext_offset));
|
||||
}
|
||||
|
||||
static void cpu_cfg_ext_add_user_opt(uint32_t ext_offset, bool value)
|
||||
{
|
||||
g_hash_table_insert(multi_ext_user_opts, GUINT_TO_POINTER(ext_offset),
|
||||
(gpointer)value);
|
||||
}
|
||||
|
||||
static void cpu_misa_ext_add_user_opt(uint32_t bit, bool value)
|
||||
{
|
||||
g_hash_table_insert(misa_ext_user_opts, GUINT_TO_POINTER(bit),
|
||||
(gpointer)value);
|
||||
}
|
||||
|
||||
static void riscv_cpu_write_misa_bit(RISCVCPU *cpu, uint32_t bit,
|
||||
bool enabled)
|
||||
{
|
||||
@ -822,9 +834,7 @@ static void cpu_set_misa_ext_cfg(Object *obj, Visitor *v, const char *name,
|
||||
return;
|
||||
}
|
||||
|
||||
g_hash_table_insert(misa_ext_user_opts,
|
||||
GUINT_TO_POINTER(misa_bit),
|
||||
(gpointer)value);
|
||||
cpu_misa_ext_add_user_opt(misa_bit, value);
|
||||
|
||||
prev_val = env->misa_ext & misa_bit;
|
||||
|
||||
@ -961,9 +971,7 @@ static void cpu_set_profile(Object *obj, Visitor *v, const char *name,
|
||||
continue;
|
||||
}
|
||||
|
||||
g_hash_table_insert(misa_ext_user_opts,
|
||||
GUINT_TO_POINTER(bit),
|
||||
(gpointer)value);
|
||||
cpu_misa_ext_add_user_opt(bit, profile->enabled);
|
||||
riscv_cpu_write_misa_bit(cpu, bit, profile->enabled);
|
||||
}
|
||||
|
||||
@ -978,9 +986,7 @@ static void cpu_set_profile(Object *obj, Visitor *v, const char *name,
|
||||
cpu_bump_multi_ext_priv_ver(&cpu->env, ext_offset);
|
||||
}
|
||||
|
||||
g_hash_table_insert(multi_ext_user_opts,
|
||||
GUINT_TO_POINTER(ext_offset),
|
||||
(gpointer)profile->enabled);
|
||||
cpu_cfg_ext_add_user_opt(ext_offset, profile->enabled);
|
||||
isa_ext_update_enabled(cpu, ext_offset, profile->enabled);
|
||||
}
|
||||
}
|
||||
@ -1043,9 +1049,7 @@ static void cpu_set_multi_ext_cfg(Object *obj, Visitor *v, const char *name,
|
||||
multi_ext_cfg->name, lower);
|
||||
}
|
||||
|
||||
g_hash_table_insert(multi_ext_user_opts,
|
||||
GUINT_TO_POINTER(multi_ext_cfg->offset),
|
||||
(gpointer)value);
|
||||
cpu_cfg_ext_add_user_opt(multi_ext_cfg->offset, value);
|
||||
|
||||
prev_val = isa_ext_is_enabled(cpu, multi_ext_cfg->offset);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user