On Fri, Nov 16, 2018 at 11:57:21AM +0100, Cédric Le Goater wrote: > This routine gathers all the KVM initialization of the XICS KVM > presenter. It will be useful when the initialization of the KVM XICS > device is moved to a global routine. > > Signed-off-by: Cédric Le Goater <c...@kaod.org>
I dislike calling things *_init() because it's not clear which of qemu's many "init" hooks it belongs with. > --- > hw/intc/xics_kvm.c | 29 +++++++++++++++++++---------- > 1 file changed, 19 insertions(+), 10 deletions(-) > > diff --git a/hw/intc/xics_kvm.c b/hw/intc/xics_kvm.c > index e8fa9a53aeba..efad1b19d821 100644 > --- a/hw/intc/xics_kvm.c > +++ b/hw/intc/xics_kvm.c > @@ -123,11 +123,8 @@ static void icp_kvm_reset(DeviceState *dev) > icp_set_kvm_state(ICP(dev), 1); > } > > -static void icp_kvm_realize(DeviceState *dev, Error **errp) > +static void icp_kvm_init(ICPState *icp, Error **errp) > { > - ICPState *icp = ICP(dev); > - ICPStateClass *icpc = ICP_GET_CLASS(icp); > - Error *local_err = NULL; > CPUState *cs; > KVMEnabledICP *enabled_icp; > unsigned long vcpu_id; > @@ -137,12 +134,6 @@ static void icp_kvm_realize(DeviceState *dev, Error > **errp) > abort(); > } > > - icpc->parent_realize(dev, &local_err); > - if (local_err) { > - error_propagate(errp, local_err); > - return; > - } > - > cs = icp->cs; > vcpu_id = kvm_arch_vcpu_id(cs); > > @@ -168,6 +159,24 @@ static void icp_kvm_realize(DeviceState *dev, Error > **errp) > QLIST_INSERT_HEAD(&kvm_enabled_icps, enabled_icp, node); > } > > +static void icp_kvm_realize(DeviceState *dev, Error **errp) > +{ > + ICPStateClass *icpc = ICP_GET_CLASS(dev); > + Error *local_err = NULL; > + > + icpc->parent_realize(dev, &local_err); > + if (local_err) { > + error_propagate(errp, local_err); > + return; > + } > + > + icp_kvm_init(ICP(dev), &local_err); > + if (local_err) { > + error_propagate(errp, local_err); > + return; > + } > +} > + > static void icp_kvm_class_init(ObjectClass *klass, void *data) > { > DeviceClass *dc = DEVICE_CLASS(klass); -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature