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

ppc/pnv: change the CPU machine_data presenter type to Object *



The POWER9 PowerNV machine will use a XIVE interrupt presenter type.

Signed-off-by: default avatarCédric Le Goater <clg@kaod.org>
Message-Id: <20190306085032.15744-6-clg@kaod.org>
Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
parent a58a18ad
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -684,7 +684,7 @@ static void pnv_chip_power8_intc_create(PnvChip *chip, PowerPCCPU *cpu,
        return;
    }

    pnv_cpu->icp = ICP(obj);
    pnv_cpu->intc = obj;
}

/*
@@ -1086,7 +1086,7 @@ static ICPState *pnv_icp_get(XICSFabric *xi, int pir)
{
    PowerPCCPU *cpu = ppc_get_vcpu_by_pir(pir);

    return cpu ? pnv_cpu_state(cpu)->icp : NULL;
    return cpu ? ICP(pnv_cpu_state(cpu)->intc) : NULL;
}

static void pnv_pic_print_info(InterruptStatsProvider *obj,
@@ -1099,7 +1099,7 @@ static void pnv_pic_print_info(InterruptStatsProvider *obj,
    CPU_FOREACH(cs) {
        PowerPCCPU *cpu = POWERPC_CPU(cs);

        icp_pic_print_info(pnv_cpu_state(cpu)->icp, mon);
        icp_pic_print_info(ICP(pnv_cpu_state(cpu)->intc), mon);
    }

    for (i = 0; i < pnv->num_chips; i++) {
+1 −1
Original line number Diff line number Diff line
@@ -198,7 +198,7 @@ static void pnv_unrealize_vcpu(PowerPCCPU *cpu)
    PnvCPUState *pnv_cpu = pnv_cpu_state(cpu);

    qemu_unregister_reset(pnv_cpu_reset, cpu);
    object_unparent(OBJECT(pnv_cpu_state(cpu)->icp));
    object_unparent(OBJECT(pnv_cpu_state(cpu)->intc));
    cpu_remove_sync(CPU(cpu));
    cpu->machine_data = NULL;
    g_free(pnv_cpu);
+1 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ typedef struct PnvCoreClass {
#define PNV_CORE_TYPE_NAME(cpu_model) cpu_model PNV_CORE_TYPE_SUFFIX

typedef struct PnvCPUState {
    struct ICPState *icp;
    Object *intc;
} PnvCPUState;

static inline PnvCPUState *pnv_cpu_state(PowerPCCPU *cpu)