On Thu, Apr 20, 2023 at 7:23 PM Daniel Henrique Barboza <[email protected]> wrote: > > From: Weiwei Li <[email protected]> > > Using implicitly enabled extensions such as Zca/Zcf/Zcd instead of their > super extensions can simplify the extension related check. However, they > may have higher priv version than their super extensions. So we should mask > them in the isa_string based on priv version to make them invisible to user > if the specified priv version is lower than their minimal priv version. > > Signed-off-by: Weiwei Li <[email protected]> > Signed-off-by: Junqiang Wang <[email protected]> > Reviewed-by: Daniel Henrique Barboza <[email protected]>
Acked-by: Alistair Francis <[email protected]> Alistair > --- > target/riscv/cpu.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c > index dd35cf378f..9bb0e6b180 100644 > --- a/target/riscv/cpu.c > +++ b/target/riscv/cpu.c > @@ -1721,7 +1721,8 @@ static void riscv_isa_string_ext(RISCVCPU *cpu, char > **isa_str, > int i; > > for (i = 0; i < ARRAY_SIZE(isa_edata_arr); i++) { > - if (isa_ext_is_enabled(cpu, &isa_edata_arr[i])) { > + if (cpu->env.priv_ver >= isa_edata_arr[i].min_version && > + isa_ext_is_enabled(cpu, &isa_edata_arr[i])) { > new = g_strconcat(old, "_", isa_edata_arr[i].name, NULL); > g_free(old); > old = new; > -- > 2.40.0 > >
