ppc/xics: register the reset handler of ICP objects
The reset of the ICP objects is currently handled by XICS but this can be done for each individual ICP. Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
b0ec31290c
commit
20147f2fce
|
@ -137,29 +137,11 @@ static void ics_simple_pic_print_info(InterruptStatsProvider *obj,
|
|||
/*
|
||||
* XICS Common class - parent for emulated XICS and KVM-XICS
|
||||
*/
|
||||
static void xics_common_reset(DeviceState *d)
|
||||
{
|
||||
XICSState *xics = XICS_COMMON(d);
|
||||
int i;
|
||||
|
||||
for (i = 0; i < xics->nr_servers; i++) {
|
||||
device_reset(DEVICE(&xics->ss[i]));
|
||||
}
|
||||
}
|
||||
|
||||
static void xics_common_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
DeviceClass *dc = DEVICE_CLASS(oc);
|
||||
|
||||
dc->reset = xics_common_reset;
|
||||
}
|
||||
|
||||
static const TypeInfo xics_common_info = {
|
||||
.name = TYPE_XICS_COMMON,
|
||||
.parent = TYPE_DEVICE,
|
||||
.instance_size = sizeof(XICSState),
|
||||
.class_size = sizeof(XICSStateClass),
|
||||
.class_init = xics_common_class_init,
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -131,6 +131,7 @@ static XICSState *try_create_xics(sPAPRMachineState *spapr,
|
|||
ICPState *icp = &xics->ss[i];
|
||||
|
||||
object_initialize(icp, sizeof(*icp), type_icp);
|
||||
qdev_set_parent_bus(DEVICE(icp), sysbus_get_default());
|
||||
object_property_add_child(OBJECT(xics), "icp[*]", OBJECT(icp), NULL);
|
||||
object_property_add_const_link(OBJECT(icp), "xics", OBJECT(xi), NULL);
|
||||
object_property_set_bool(OBJECT(icp), true, "realized", &err);
|
||||
|
|
Loading…
Reference in a new issue