On Thu, Jul 2, 2026 at 11:53 PM Daniel Henrique Barboza
<[email protected]> wrote:
>
> 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]>
> Reviewed-by: Philippe Mathieu-Daudé <[email protected]>

Reviewed-by: Alistair Francis <[email protected]>

Alistair

> ---
>  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 6b79dcc5ee..5a82e6563b 100644
> --- a/target/riscv/cpu.c
> +++ b/target/riscv/cpu.c
> @@ -965,10 +965,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);
> @@ -1020,6 +1016,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);
> @@ -1057,11 +1057,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 /* !CONFIG_USER_ONLY */
>
>      /* on reset elp is clear */
>      env->elp = false;
> --
> 2.43.0
>
>

Reply via email to