mirror of https://github.com/xqemu/xqemu.git
ppc/xics: add a realize() handler to ICPStateClass
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>
This commit is contained in:
parent
5bc8d26de2
commit
439071a92d
|
@ -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)
|
||||||
|
|
||||||
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;
|
||||||
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);
|
||||||
|
|
Loading…
Reference in New Issue