The satp mode is set using the svXX properties, but that actually restricts the satp mode to the minimum required by the profile and prevents the use of higher satp modes.
Fix this by not setting any svXX property and allow all satp mode to be supported. Signed-off-by: Alexandre Ghiti <alexgh...@rivosinc.com> --- target/riscv/tcg/tcg-cpu.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index 5aef9eef36..ca2d2950eb 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -1232,9 +1232,6 @@ static void cpu_set_profile(Object *obj, Visitor *v, const char *name, #ifndef CONFIG_USER_ONLY if (profile->satp_mode != RISCV_PROFILE_ATTR_UNUSED) { object_property_set_bool(obj, "mmu", true, NULL); - const char *satp_prop = satp_mode_str(profile->satp_mode, - riscv_cpu_is_32bit(cpu)); - object_property_set_bool(obj, satp_prop, profile->enabled, NULL); } #endif -- 2.34.1