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

ppc/pnv: Add a PnvChip pointer to PnvCore



We will use it to reset the interrupt presenter from the CPU reset
handler.

Signed-off-by: default avatarCédric Le Goater <clg@kaod.org>
Reviewed-by: default avatarGreg Kurz <groug@kaod.org>
Message-Id: <20191022163812.330-5-clg@kaod.org>
Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
parent fa06541b
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -222,6 +222,7 @@ static void pnv_core_realize(DeviceState *dev, Error **errp)
                                "required link 'chip' not found: ");
        return;
    }
    pc->chip = PNV_CHIP(chip);

    pc->threads = g_new(PowerPCCPU *, cc->nr_threads);
    for (i = 0; i < cc->nr_threads; i++) {
@@ -243,7 +244,7 @@ static void pnv_core_realize(DeviceState *dev, Error **errp)
    }

    for (j = 0; j < cc->nr_threads; j++) {
        pnv_realize_vcpu(pc->threads[j], PNV_CHIP(chip), &local_err);
        pnv_realize_vcpu(pc->threads[j], pc->chip, &local_err);
        if (local_err) {
            goto err;
        }
+3 −0
Original line number Diff line number Diff line
@@ -31,6 +31,8 @@
#define PNV_CORE_GET_CLASS(obj) \
     OBJECT_GET_CLASS(PnvCoreClass, (obj), TYPE_PNV_CORE)

typedef struct PnvChip PnvChip;

typedef struct PnvCore {
    /*< private >*/
    CPUCore parent_obj;
@@ -38,6 +40,7 @@ typedef struct PnvCore {
    /*< public >*/
    PowerPCCPU **threads;
    uint32_t pir;
    PnvChip *chip;

    MemoryRegion xscom_regs;
} PnvCore;