Message ID | 1489674912-21942-4-git-send-email-clg@kaod.org |
---|---|
State | New |
Headers | show |
On Thu, Mar 16, 2017 at 03:35:07PM +0100, Cédric Le Goater wrote: > 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> > --- > hw/intc/xics.c | 5 +++++ > include/hw/ppc/xics.h | 1 + > 2 files changed, 6 insertions(+) > > diff --git a/hw/intc/xics.c b/hw/intc/xics.c > index 5cde86ceb3bc..7cd842102265 100644 > --- a/hw/intc/xics.c > +++ b/hw/intc/xics.c > @@ -348,6 +348,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; > > @@ -360,6 +361,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); > } > > diff --git a/include/hw/ppc/xics.h b/include/hw/ppc/xics.h > index 9a5e715fe553..0863e3a079f5 100644 > --- a/include/hw/ppc/xics.h > +++ b/include/hw/ppc/xics.h > @@ -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);
diff --git a/hw/intc/xics.c b/hw/intc/xics.c index 5cde86ceb3bc..7cd842102265 100644 --- a/hw/intc/xics.c +++ b/hw/intc/xics.c @@ -348,6 +348,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; @@ -360,6 +361,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); } diff --git a/include/hw/ppc/xics.h b/include/hw/ppc/xics.h index 9a5e715fe553..0863e3a079f5 100644 --- a/include/hw/ppc/xics.h +++ b/include/hw/ppc/xics.h @@ -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);
It will be used by derived classes in PowerNV for customization. Signed-off-by: Cédric Le Goater <clg@kaod.org> --- hw/intc/xics.c | 5 +++++ include/hw/ppc/xics.h | 1 + 2 files changed, 6 insertions(+)