On Tue, May 12, 2026 at 1:30 PM Daniel Henrique Barboza
<[email protected]> wrote:
>
> This change has been done twice now: one in riscv-qmp-cmds, another in
> the KVM.  We're now ready to do it for TCG.
>
> Signed-off-by: Daniel Henrique Barboza <[email protected]>

Acked-by: Alistair Francis <[email protected]>

Alistair

> ---
>  target/riscv/tcg/tcg-cpu.c | 34 ++++++++++------------------------
>  1 file changed, 10 insertions(+), 24 deletions(-)
>
> diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c
> index 7575884d7e..3e22e7ed53 100644
> --- a/target/riscv/tcg/tcg-cpu.c
> +++ b/target/riscv/tcg/tcg-cpu.c
> @@ -1550,27 +1550,6 @@ static void cpu_get_multi_ext_cfg(Object *obj, Visitor 
> *v, const char *name,
>      visit_type_bool(v, name, &value, errp);
>  }
>
> -static void cpu_add_multi_ext_prop(Object *cpu_obj,
> -                                   const RISCVCPUMultiExtConfig *multi_cfg)
> -{
> -    object_property_add(cpu_obj, multi_cfg->name, "bool",
> -                        cpu_get_multi_ext_cfg,
> -                        cpu_set_multi_ext_cfg,
> -                        NULL, (void *)&multi_cfg->offset);
> -}
> -
> -static void riscv_cpu_add_multiext_prop_array(Object *obj,
> -                                        const RISCVCPUMultiExtConfig *array)
> -{
> -    const RISCVCPUMultiExtConfig *prop;
> -
> -    g_assert(array);
> -
> -    for (prop = array; prop && prop->name; prop++) {
> -        cpu_add_multi_ext_prop(obj, prop);
> -    }
> -}
> -
>  /*
>   * Add CPU properties with user-facing flags.
>   *
> @@ -1579,15 +1558,22 @@ static void riscv_cpu_add_multiext_prop_array(Object 
> *obj,
>   */
>  static void riscv_cpu_add_user_properties(Object *obj)
>  {
> +    const RISCVIsaExtData *edata;
> +
>  #ifndef CONFIG_USER_ONLY
>      riscv_add_satp_mode_properties(obj);
>  #endif
>
>      riscv_cpu_add_misa_properties(obj);
>
> -    riscv_cpu_add_multiext_prop_array(obj, riscv_cpu_extensions);
> -    riscv_cpu_add_multiext_prop_array(obj, riscv_cpu_vendor_exts);
> -    riscv_cpu_add_multiext_prop_array(obj, riscv_cpu_experimental_exts);
> +    for (edata = isa_edata_arr; edata && edata->name; edata++) {
> +        if (edata->prop_name) {
> +            object_property_add(obj, edata->prop_name, "bool",
> +                                cpu_get_multi_ext_cfg,
> +                                cpu_set_multi_ext_cfg,
> +                                NULL, (void *)&edata->ext_enable_offset);
> +        }
> +    }
>
>      riscv_cpu_add_profiles(obj);
>  }
> --
> 2.43.0
>
>

Reply via email to