From: Helge Deller Date: Mon, 30 Dec 2024 09:53:25 +0000 (+0100) Subject: hw/hppa: Reset vCPUs calling resettable_reset() X-Git-Tag: pull-vmclock-20250116~3^2~12 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=20f7b890173be6cd38dabad8122b8b2fe51d0255;p=users%2Fdwmw2%2Fqemu.git hw/hppa: Reset vCPUs calling resettable_reset() Rather than manually (and incompletely) resetting vCPUs, call resettable_reset() which will fully reset the vCPUs. Remove redundant assignations. Signed-off-by: Helge Deller Co-developed-by: Philippe Mathieu-Daudé Signed-off-by: Philippe Mathieu-Daudé Message-Id: <20241231190620.24442-4-philmd@linaro.org> --- diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c index 65259308e2..8230f43e41 100644 --- a/hw/hppa/machine.c +++ b/hw/hppa/machine.c @@ -655,12 +655,12 @@ static void hppa_machine_reset(MachineState *ms, ResetType type) for (i = 0; i < smp_cpus; i++) { CPUState *cs = CPU(cpu[i]); + /* reset CPU */ + resettable_reset(OBJECT(cs), RESET_TYPE_COLD); + cpu_set_pc(cs, firmware_entry); cpu[i]->env.psw = PSW_Q; cpu[i]->env.gr[5] = CPU_HPA + i * 0x1000; - - cs->exception_index = -1; - cs->halted = 0; } /* already initialized by machine_hppa_init()? */ diff --git a/target/hppa/cpu.c b/target/hppa/cpu.c index d784bcdd60..41538d39d6 100644 --- a/target/hppa/cpu.c +++ b/target/hppa/cpu.c @@ -204,6 +204,7 @@ static void hppa_cpu_reset_hold(Object *obj, ResetType type) scc->parent_phases.hold(obj, type); } cs->exception_index = -1; + cs->halted = 0; memset(env, 0, offsetof(CPUHPPAState, end_reset_fields));