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>
This commit is contained in:
parent
be1fe35199
commit
c79b2fdd7b
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue