We have a lot of TCG only initialization in the common cpu_reset_hold callback that prevents --disable-tcg to work.
Put a CONFIG_TCG ifdef around those bits to make the build work. Eventually we'll create a TCG specific reset function in tcg-cpu.c but for now this suffices. Signed-off-by: Daniel Henrique Barboza <[email protected]> --- target/riscv/cpu.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 8f9d2967ef..0c777b76d6 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -958,10 +958,6 @@ bool riscv_cpu_has_work(CPUState *cs) static void riscv_cpu_reset_hold(Object *obj, ResetType type) { -#ifndef CONFIG_USER_ONLY - uint8_t iprio; - int i, irq, rdzero; -#endif CPUState *cs = CPU(obj); RISCVCPU *cpu = RISCV_CPU(cs); RISCVCPUClass *mcc = RISCV_CPU_GET_CLASS(obj); @@ -1013,6 +1009,10 @@ static void riscv_cpu_reset_hold(Object *obj, ResetType type) MENVCFG_ADUE : 0); env->henvcfg = 0; +#ifdef CONFIG_TCG + uint8_t iprio; + int i, irq, rdzero; + /* Initialized default priorities of local interrupts. */ for (i = 0; i < ARRAY_SIZE(env->miprio); i++) { iprio = riscv_cpu_default_priority(i); @@ -1050,11 +1050,12 @@ static void riscv_cpu_reset_hold(Object *obj, ResetType type) } pmp_unlock_entries(env); +#endif /* ifdef CONFIG_TCG */ #else env->priv = PRV_U; env->senvcfg = 0; env->menvcfg = 0; -#endif +#endif /* ifndef CONFIG_USER_ONLY */ /* on reset elp is clear */ env->elp = false; -- 2.43.0
