On 05/03/26 11:39 am, Saif Abrar wrote:
@@ -1755,6 +1819,9 @@ static void pnv_phb4_instance_init(Object *obj)
/* XIVE interrupt source object */
object_initialize_child(obj, "source", &phb->xsrc, TYPE_XIVE_SOURCE);
+
+ /* Initialize RO-mask of registers */
+ pnv_phb4_ro_mask_init(phb);
}
void pnv_phb4_bus_init(DeviceState *dev, PnvPHB4 *phb)
@@ -1934,6 +2001,7 @@ static const TypeInfo pnv_phb4_type_info = {
.parent = TYPE_DEVICE,
.instance_init = pnv_phb4_instance_init,
.instance_size = sizeof(PnvPHB4),
+ .class_size = sizeof(PnvPHB4Class),
.class_init = pnv_phb4_class_init,
PnvPHB4Class is introducing per-register RO masks which is supposed to
be a class data, but this is being initialized in instance_init which is
odd. Shouldn't this be taken care via class_init ?
I am not a QOM expert, but this looks like a design issue.