diff options
author | Cédric Le Goater <clg@kaod.org> | 2017-02-27 15:29:19 +0100 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2017-03-01 11:23:39 +1100 |
commit | c79b2fdd7bfc51de5f93c7008f7ed6a262389ed6 (patch) | |
tree | e9d282884d95ef9e303c419d81391f7bf018f924 | |
parent | be1fe35199e29bd662b9c7e36c97ccb7122f3fee (diff) | |
download | qemu-c79b2fdd7bfc51de5f93c7008f7ed6a262389ed6.zip qemu-c79b2fdd7bfc51de5f93c7008f7ed6a262389ed6.tar.gz qemu-c79b2fdd7bfc51de5f93c7008f7ed6a262389ed6.tar.bz2 |
ppc/xics: register the reset handler of ICS objects
The reset of the ICS objects is currently handled by XICS but this can
be done for each individual ICS. This also reduces the use of the XICS
list of ICS.
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r-- | hw/intc/xics.c | 5 | ||||
-rw-r--r-- | hw/ppc/spapr.c | 1 |
2 files changed, 1 insertions, 5 deletions
diff --git a/hw/intc/xics.c b/hw/intc/xics.c index a71d385..97775c2 100644 --- a/hw/intc/xics.c +++ b/hw/intc/xics.c @@ -139,16 +139,11 @@ static void ics_simple_pic_print_info(InterruptStatsProvider *obj, static void xics_common_reset(DeviceState *d) { XICSState *xics = XICS_COMMON(d); - ICSState *ics; int i; for (i = 0; i < xics->nr_servers; i++) { device_reset(DEVICE(&xics->ss[i])); } - - QLIST_FOREACH(ics, &xics->ics, list) { - device_reset(DEVICE(ics)); - } } static void xics_common_initfn(Object *obj) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index a4e4b86..a5e6072 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -114,6 +114,7 @@ static XICSState *try_create_xics(sPAPRMachineState *spapr, } ics = ICS_SIMPLE(object_new(type_ics)); + qdev_set_parent_bus(DEVICE(ics), sysbus_get_default()); object_property_add_child(OBJECT(spapr), "ics", OBJECT(ics), NULL); object_property_set_int(OBJECT(ics), nr_irqs, "nr-irqs", &err); object_property_add_const_link(OBJECT(ics), "xics", OBJECT(xics), NULL); |