mirror of https://github.com/xemu-project/xemu.git
spapr: move CPU reset after presenter creation
This change prepares ground for future changes which will reset the interrupt presenter in the reset handler of the sPAPR and PowerNV cores. Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Greg Kurz <groug@kaod.org> Signed-off-by: Cédric Le Goater <clg@kaod.org> Message-Id: <20191022163812.330-2-clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
47c8c915b1
commit
90f8db52bb
|
@ -234,13 +234,16 @@ static void spapr_realize_vcpu(PowerPCCPU *cpu, SpaprMachineState *spapr,
|
||||||
cpu_ppc_set_vhyp(cpu, PPC_VIRTUAL_HYPERVISOR(spapr));
|
cpu_ppc_set_vhyp(cpu, PPC_VIRTUAL_HYPERVISOR(spapr));
|
||||||
kvmppc_set_papr(cpu);
|
kvmppc_set_papr(cpu);
|
||||||
|
|
||||||
|
if (spapr_irq_cpu_intc_create(spapr, cpu, &local_err) < 0) {
|
||||||
|
goto error_intc_create;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FIXME: Hot-plugged CPUs are not reset. Do it at realize.
|
||||||
|
*/
|
||||||
qemu_register_reset(spapr_cpu_reset, cpu);
|
qemu_register_reset(spapr_cpu_reset, cpu);
|
||||||
spapr_cpu_reset(cpu);
|
spapr_cpu_reset(cpu);
|
||||||
|
|
||||||
if (spapr_irq_cpu_intc_create(spapr, cpu, &local_err) < 0) {
|
|
||||||
goto error_unregister;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!sc->pre_3_0_migration) {
|
if (!sc->pre_3_0_migration) {
|
||||||
vmstate_register(NULL, cs->cpu_index, &vmstate_spapr_cpu_state,
|
vmstate_register(NULL, cs->cpu_index, &vmstate_spapr_cpu_state,
|
||||||
cpu->machine_data);
|
cpu->machine_data);
|
||||||
|
@ -248,8 +251,7 @@ static void spapr_realize_vcpu(PowerPCCPU *cpu, SpaprMachineState *spapr,
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
error_unregister:
|
error_intc_create:
|
||||||
qemu_unregister_reset(spapr_cpu_reset, cpu);
|
|
||||||
cpu_remove_sync(CPU(cpu));
|
cpu_remove_sync(CPU(cpu));
|
||||||
error:
|
error:
|
||||||
error_propagate(errp, local_err);
|
error_propagate(errp, local_err);
|
||||||
|
|
Loading…
Reference in New Issue