提交 439071a9 编写于 作者: C Cédric Le Goater 提交者: David Gibson

ppc/xics: add a realize() handler to ICPStateClass

It will be used by derived classes in PowerNV for customization.
Signed-off-by: NCédric Le Goater <clg@kaod.org>
Reviewed-by: NDavid Gibson <david@gibson.dropbear.id.au>
Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
上级 5bc8d26d
...@@ -337,6 +337,7 @@ static void icp_reset(void *dev) ...@@ -337,6 +337,7 @@ static void icp_reset(void *dev)
static void icp_realize(DeviceState *dev, Error **errp) static void icp_realize(DeviceState *dev, Error **errp)
{ {
ICPState *icp = ICP(dev); ICPState *icp = ICP(dev);
ICPStateClass *icpc = ICP_GET_CLASS(dev);
Object *obj; Object *obj;
Error *err = NULL; Error *err = NULL;
...@@ -349,6 +350,10 @@ static void icp_realize(DeviceState *dev, Error **errp) ...@@ -349,6 +350,10 @@ static void icp_realize(DeviceState *dev, Error **errp)
icp->xics = XICS_FABRIC(obj); icp->xics = XICS_FABRIC(obj);
if (icpc->realize) {
icpc->realize(dev, errp);
}
qemu_register_reset(icp_reset, dev); qemu_register_reset(icp_reset, dev);
} }
......
...@@ -60,6 +60,7 @@ typedef struct XICSFabric XICSFabric; ...@@ -60,6 +60,7 @@ typedef struct XICSFabric XICSFabric;
struct ICPStateClass { struct ICPStateClass {
DeviceClass parent_class; DeviceClass parent_class;
void (*realize)(DeviceState *dev, Error **errp);
void (*pre_save)(ICPState *s); void (*pre_save)(ICPState *s);
int (*post_load)(ICPState *s, int version_id); int (*post_load)(ICPState *s, int version_id);
void (*cpu_setup)(ICPState *icp, PowerPCCPU *cpu); void (*cpu_setup)(ICPState *icp, PowerPCCPU *cpu);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册