target/riscv/tcg: set 'mmu' with 'satp' in cpu_set_profile()
authorDaniel Henrique Barboza <dbarboza@ventanamicro.com>
Thu, 15 Feb 2024 22:39:50 +0000 (19:39 -0300)
committerAlistair Francis <alistair.francis@wdc.com>
Fri, 8 Mar 2024 06:28:14 +0000 (16:28 +1000)
Recent changes in options handling removed the 'mmu' default the bare
CPUs had, meaning that we must enable 'mmu' by hand when using the
rva22s64 profile CPU.

Given that this profile is setting a satp mode, it already implies that
we need a 'mmu'. Enable the 'mmu' in this case.

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-ID: <20240215223955.969568-2-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
target/riscv/tcg/tcg-cpu.c

index dd5228c2885f4403fe368ac0714505fc09cbdd1e..ee4c349972c0d19c33029903330f43935402ad13 100644 (file)
@@ -1075,6 +1075,7 @@ 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);