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.

Reply via email to