diff options
-rw-r--r-- | hw/intc/xics.c | 1 | ||||
-rw-r--r-- | include/hw/ppc/xics.h | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/hw/intc/xics.c b/hw/intc/xics.c index c051eebb44..9f2c81a7f1 100644 --- a/hw/intc/xics.c +++ b/hw/intc/xics.c @@ -198,6 +198,7 @@ void xics_set_nr_servers(XICSState *xics, uint32_t nr_servers, object_initialize(icp, sizeof(*icp), typename); snprintf(name, sizeof(name), "icp[%d]", i); object_property_add_child(OBJECT(xics), name, OBJECT(icp), errp); + icp->xics = xics; } } diff --git a/include/hw/ppc/xics.h b/include/hw/ppc/xics.h index 573b192053..1468d6a890 100644 --- a/include/hw/ppc/xics.h +++ b/include/hw/ppc/xics.h @@ -117,6 +117,8 @@ struct ICPState { uint8_t mfrr; qemu_irq output; bool cap_irq_xics_enabled; + + XICSState *xics; }; #define TYPE_ICS_BASE "ics-base" |