Message ID | mvm34zavbmb.fsf@suse.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | riscv: Call set_satp_mode_max_supported in riscv_host_cpu_init | expand |
On Tue, Sep 19, 2023 at 09:57:32AM +0200, Andreas Schwab wrote: > When running in KVM mode with -cpu host, cfg.satp_mode.supported is not > initialized, causing an infinite loop in riscv_cpu_satp_mode_finalize. > > Fixes: 6df3747a27 ("riscv: Introduce satp mode hw capabilities") > Signed-off-by: Andreas Schwab <schwab@suse.de> > --- > target/riscv/cpu.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c > index f227c7664e..bb8dc3bb40 100644 > --- a/target/riscv/cpu.c > +++ b/target/riscv/cpu.c > @@ -623,8 +623,10 @@ static void riscv_host_cpu_init(Object *obj) > CPURISCVState *env = &RISCV_CPU(obj)->env; > #if defined(TARGET_RISCV32) > set_misa(env, MXL_RV32, 0); > + set_satp_mode_max_supported(RISCV_CPU(obj), VM_1_10_SV32); > #elif defined(TARGET_RISCV64) > set_misa(env, MXL_RV64, 0); > + set_satp_mode_max_supported(RISCV_CPU(obj), VM_1_10_SV57); > #endif > riscv_cpu_add_user_properties(obj); > } > -- > 2.42.0 > This should be fixed by https://lore.kernel.org/all/20230911064320.939791-37-alistair.francis@wdc.com/ Thanks, drew
On Sep 19 2023, Andrew Jones wrote: > This should be fixed by > > https://lore.kernel.org/all/20230911064320.939791-37-alistair.francis@wdc.com/ Thanks, I can confirm that it fixes the issue.
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index f227c7664e..bb8dc3bb40 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -623,8 +623,10 @@ static void riscv_host_cpu_init(Object *obj) CPURISCVState *env = &RISCV_CPU(obj)->env; #if defined(TARGET_RISCV32) set_misa(env, MXL_RV32, 0); + set_satp_mode_max_supported(RISCV_CPU(obj), VM_1_10_SV32); #elif defined(TARGET_RISCV64) set_misa(env, MXL_RV64, 0); + set_satp_mode_max_supported(RISCV_CPU(obj), VM_1_10_SV57); #endif riscv_cpu_add_user_properties(obj); }
When running in KVM mode with -cpu host, cfg.satp_mode.supported is not initialized, causing an infinite loop in riscv_cpu_satp_mode_finalize. Fixes: 6df3747a27 ("riscv: Introduce satp mode hw capabilities") Signed-off-by: Andreas Schwab <schwab@suse.de> --- target/riscv/cpu.c | 2 ++ 1 file changed, 2 insertions(+)