Commit 90f8db52 authored by Cédric Le Goater's avatar Cédric Le Goater Committed by David Gibson
Browse files

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: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: default avatarGreg Kurz <groug@kaod.org>
Signed-off-by: default avatarCédric Le Goater <clg@kaod.org>
Message-Id: <20191022163812.330-2-clg@kaod.org>
Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
parent 47c8c915
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -234,13 +234,16 @@ static void spapr_realize_vcpu(PowerPCCPU *cpu, SpaprMachineState *spapr,
    cpu_ppc_set_vhyp(cpu, PPC_VIRTUAL_HYPERVISOR(spapr));
    kvmppc_set_papr(cpu);

    qemu_register_reset(spapr_cpu_reset, cpu);
    spapr_cpu_reset(cpu);

    if (spapr_irq_cpu_intc_create(spapr, cpu, &local_err) < 0) {
        goto error_unregister;
        goto error_intc_create;
    }

    /*
     * FIXME: Hot-plugged CPUs are not reset. Do it at realize.
     */
    qemu_register_reset(spapr_cpu_reset, cpu);
    spapr_cpu_reset(cpu);

    if (!sc->pre_3_0_migration) {
        vmstate_register(NULL, cs->cpu_index, &vmstate_spapr_cpu_state,
                         cpu->machine_data);
@@ -248,8 +251,7 @@ static void spapr_realize_vcpu(PowerPCCPU *cpu, SpaprMachineState *spapr,

    return;

error_unregister:
    qemu_unregister_reset(spapr_cpu_reset, cpu);
error_intc_create:
    cpu_remove_sync(CPU(cpu));
error:
    error_propagate(errp, local_err);