diff options
author | Cédric Le Goater | 2019-10-22 18:38:09 +0200 |
---|---|---|
committer | David Gibson | 2019-10-24 04:33:33 +0200 |
commit | aa5ac64b2394712b6269d0b15ba06c9c564dee92 (patch) | |
tree | e5ca781759f759efe4c42407f212cbfd074f8b93 | |
parent | ppc/pnv: Introduce a PnvCore reset handler (diff) | |
download | qemu-aa5ac64b2394712b6269d0b15ba06c9c564dee92.tar.gz qemu-aa5ac64b2394712b6269d0b15ba06c9c564dee92.tar.xz qemu-aa5ac64b2394712b6269d0b15ba06c9c564dee92.zip |
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: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Greg Kurz <groug@kaod.org>
Message-Id: <20191022163812.330-5-clg@kaod.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r-- | hw/ppc/pnv_core.c | 3 | ||||
-rw-r--r-- | include/hw/ppc/pnv_core.h | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c index 9f981a4940..cc17bbfed8 100644 --- a/hw/ppc/pnv_core.c +++ b/hw/ppc/pnv_core.c @@ -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; } diff --git a/include/hw/ppc/pnv_core.h b/include/hw/ppc/pnv_core.h index bfbd2ec42a..55eee95104 100644 --- a/include/hw/ppc/pnv_core.h +++ b/include/hw/ppc/pnv_core.h @@ -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; |