target/riscv/tcg: use cfg_offset as cpu_set_multi_ext cb opaque
The cpu_get_multi_ext_cfg/cpu_set_multi_ext_cfg callbacks are using a RISCVCPUMultiExtConfig pointer as opaque, but internally we're just using multi_ext_cfg->offset. Use multi_ext_cfg->offset as opaque instead. Signed-off-by: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com> Acked-by: Alistair Francis <alistair.francis@wdc.com> Message-ID: <20260512032926.1978818-12-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Daniel Henrique Barboza committed
May 12, 2026 at 00:29 UTC
acd8f9daa1960ab1fad6376ab43a7a7accb19751
1 file changed
+8
-8
target/riscv/tcg/tcg-cpu.c
+8
-8
@@ -1510,8 +1510,8 @@ static void riscv_cpu_add_profiles(Object *cpu_obj)
1510
static void cpu_set_multi_ext_cfg(Object *obj, Visitor *v, const char *name,
1511
void *opaque, Error **errp)
1512
{
1513
- const RISCVCPUMultiExtConfig *multi_ext_cfg = opaque;
1513
RISCVCPU *cpu = RISCV_CPU(obj);
1514
+ uint32_t cfg_offset = *(uint32_t *)opaque;
1515
bool vendor_cpu = riscv_cpu_is_vendor(obj);
1516
bool prev_val, value;
1517
@@ -1519,9 +1519,9 @@ static void cpu_set_multi_ext_cfg(Object *obj, Visitor *v, const char *name,
1519
return;
1520
}
1521
1522
- cpu_cfg_ext_add_user_opt(multi_ext_cfg->offset, value);
1522
+ cpu_cfg_ext_add_user_opt(cfg_offset, value);
1523
1524
- prev_val = isa_ext_is_enabled(cpu, multi_ext_cfg->offset);
1524
+ prev_val = isa_ext_is_enabled(cpu, cfg_offset);
1525
1526
if (value == prev_val) {
1527
return;
@@ -1535,17 +1535,17 @@ static void cpu_set_multi_ext_cfg(Object *obj, Visitor *v, const char *name,
1535
}
1536
1537
if (value) {
1538
- cpu_bump_multi_ext_priv_ver(&cpu->env, multi_ext_cfg->offset);
1538
+ cpu_bump_multi_ext_priv_ver(&cpu->env, cfg_offset);
1539
}
1540
1541
- isa_ext_update_enabled(cpu, multi_ext_cfg->offset, value);
1541
+ isa_ext_update_enabled(cpu, cfg_offset, value);
1542
}
1543
1544
static void cpu_get_multi_ext_cfg(Object *obj, Visitor *v, const char *name,
1545
void *opaque, Error **errp)
1546
{
1547
- const RISCVCPUMultiExtConfig *multi_ext_cfg = opaque;
1548
- bool value = isa_ext_is_enabled(RISCV_CPU(obj), multi_ext_cfg->offset);
1547
+ uint32_t cfg_offset = *(uint32_t *)opaque;
1548
+ bool value = isa_ext_is_enabled(RISCV_CPU(obj), cfg_offset);
1549
1550
visit_type_bool(v, name, &value, errp);
1551
}
@@ -1558,7 +1558,7 @@ static void cpu_add_multi_ext_prop(Object *cpu_obj,
1558
object_property_add(cpu_obj, multi_cfg->name, "bool",
1559
cpu_get_multi_ext_cfg,
1560
cpu_set_multi_ext_cfg,
1561
- NULL, (void *)multi_cfg);
1561
+ NULL, (void *)&multi_cfg->offset);
1562
1563
if (!generic_cpu) {
1564
return;