On Tue, Oct 21, 2025 at 3:09 PM Akihiko Odaki <[email protected]> wrote: > > riscv_cpu_validate_v() left its variable, min_vlen, uninitialized if > no vector extension is available, causing a compiler warning. > > Re-define riscv_cpu_validate_v() as no-op when no vector extension is > available to prevent the scenario that will read the unintialized > variable by construction. It also simplifies its caller as a bonus. > > Signed-off-by: Akihiko Odaki <[email protected]>
Thanks! Applied to riscv-to-apply.next Alistair > --- > Changes in v2: > - De-duplicated zve32f checks as suggested by Daniel Henrique Barboza. > - Link to v1: > https://lore.kernel.org/qemu-devel/[email protected] > --- > target/riscv/tcg/tcg-cpu.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c > index 1150bd14697c..d3968251fad5 100644 > --- a/target/riscv/tcg/tcg-cpu.c > +++ b/target/riscv/tcg/tcg-cpu.c > @@ -426,6 +426,8 @@ static void riscv_cpu_validate_v(CPURISCVState *env, > RISCVCPUConfig *cfg, > min_vlen = 64; > } else if (cfg->ext_zve32x) { > min_vlen = 32; > + } else { > + return; > } > > if (vlen > RV_VLEN_MAX || vlen < min_vlen) { > @@ -676,12 +678,10 @@ void riscv_cpu_validate_set_extensions(RISCVCPU *cpu, > Error **errp) > return; > } > > - if (cpu->cfg.ext_zve32x) { > - riscv_cpu_validate_v(env, &cpu->cfg, &local_err); > - if (local_err != NULL) { > - error_propagate(errp, local_err); > - return; > - } > + riscv_cpu_validate_v(env, &cpu->cfg, &local_err); > + if (local_err != NULL) { > + error_propagate(errp, local_err); > + return; > } > > /* The Zve64d extension depends on the Zve64f extension */ > > --- > base-commit: c85ba2d7a4056595166689890285105579db446a > change-id: 20251019-vlen-30a57c03bd93 > > Best regards, > -- > Akihiko Odaki <[email protected]> > >
