]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
ppc/xics: add a realize() handler to ICPStateClass
authorCédric Le Goater <clg@kaod.org>
Mon, 3 Apr 2017 07:45:59 +0000 (09:45 +0200)
committerDavid Gibson <david@gibson.dropbear.id.au>
Wed, 26 Apr 2017 02:00:42 +0000 (12:00 +1000)
It will be used by derived classes in PowerNV for customization.

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>
hw/intc/xics.c
include/hw/ppc/xics.h

index d4428b41b03a6a89e1f711f2cd8490853c66eb00..292fffecd37634d6d0d8abd0334c83ae490ff909 100644 (file)
@@ -337,6 +337,7 @@ static void icp_reset(void *dev)
 static void icp_realize(DeviceState *dev, Error **errp)
 {
     ICPState *icp = ICP(dev);
+    ICPStateClass *icpc = ICP_GET_CLASS(dev);
     Object *obj;
     Error *err = NULL;
 
@@ -349,6 +350,10 @@ static void icp_realize(DeviceState *dev, Error **errp)
 
     icp->xics = XICS_FABRIC(obj);
 
+    if (icpc->realize) {
+        icpc->realize(dev, errp);
+    }
+
     qemu_register_reset(icp_reset, dev);
 }
 
index b07f56fcc5524b6217d1aeb098139a647cde675f..731e1779f1688f1f45d09face6981947ba329889 100644 (file)
@@ -60,6 +60,7 @@ typedef struct XICSFabric XICSFabric;
 struct ICPStateClass {
     DeviceClass parent_class;
 
+    void (*realize)(DeviceState *dev, Error **errp);
     void (*pre_save)(ICPState *s);
     int (*post_load)(ICPState *s, int version_id);
     void (*cpu_setup)(ICPState *icp, PowerPCCPU *cpu);