On Thu, 19 Feb 2026 at 17:18, Alex Bennée <[email protected]> wrote: > > Implement a proper cpu reset handler for tricore cpus. > > Message-ID: <[email protected]> > Signed-off-by: Alex Bennée <[email protected]> > --- > target/tricore/cpu.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/target/tricore/cpu.c b/target/tricore/cpu.c > index 04319e107ba..c3dda9f6a54 100644 > --- a/target/tricore/cpu.c > +++ b/target/tricore/cpu.c > @@ -24,6 +24,7 @@ > #include "qemu/error-report.h" > #include "tcg/debug-assert.h" > #include "accel/tcg/cpu-ops.h" > +#include "system/reset.h" > > static inline void set_feature(CPUTriCoreState *env, int feature) > { > @@ -81,6 +82,12 @@ static void tricore_cpu_reset_hold(Object *obj, ResetType > type) > cpu_state_reset(cpu_env(cs)); > } > > +static void tricore_cpu_reset(void *opaque) > +{ > + CPUState *cs = opaque; > + cpu_reset(cs); > +} > + > static bool tricore_cpu_has_work(CPUState *cs) > { > return true; > @@ -120,8 +127,8 @@ static void tricore_cpu_realizefn(DeviceState *dev, Error > **errp) > if (tricore_has_feature(env, TRICORE_FEATURE_131)) { > set_feature(env, TRICORE_FEATURE_13); > } > - cpu_reset(cs); > qemu_init_vcpu(cs); > + qemu_register_reset(tricore_cpu_reset, cs);
We should arrange for CPUs to be reset in the board code, not in the realize function of the CPU itself. thanks -- PMM
