On Mon, 11 Sep 2017 22:52:52 +0200 Greg Kurz <gr...@kaod.org> wrote: > This patch removes the qdev_get_machine() calls that are made > in spapr_cpu_core.c in situations where we can get an existing > pointer for the MachineState by either passing it as an argument > to the function or by using other already available pointers. > > Credits to Daniel Henrique Barboza for the idea and the changelog > text. > > Signed-off-by: Greg Kurz <gr...@kaod.org> > --- > hw/ppc/spapr_cpu_core.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c > index dc9df0d393d1..e26279116736 100644 > --- a/hw/ppc/spapr_cpu_core.c > +++ b/hw/ppc/spapr_cpu_core.c > @@ -73,8 +73,8 @@ void spapr_cpu_parse_features(sPAPRMachineState *spapr) > > static void spapr_cpu_reset(void *opaque) > { > - sPAPRMachineState *spapr = SPAPR_MACHINE(qdev_get_machine()); > PowerPCCPU *cpu = opaque; > + sPAPRMachineState *spapr = SPAPR_MACHINE(&cpu->vhyp); ^ Ouch! :-\
I'll send a v2. > CPUState *cs = CPU(cpu); > CPUPPCState *env = &cpu->env; > > @@ -162,10 +162,10 @@ static void spapr_cpu_core_unrealizefn(DeviceState > *dev, Error **errp) > g_free(sc->threads); > } > > -static void spapr_cpu_core_realize_child(Object *child, Error **errp) > +static void spapr_cpu_core_realize_child(Object *child, > + sPAPRMachineState *spapr, Error > **errp) > { > Error *local_err = NULL; > - sPAPRMachineState *spapr = SPAPR_MACHINE(qdev_get_machine()); > CPUState *cs = CPU(child); > PowerPCCPU *cpu = POWERPC_CPU(cs); > Object *obj; > @@ -254,7 +254,7 @@ static void spapr_cpu_core_realize(DeviceState *dev, > Error **errp) > for (j = 0; j < cc->nr_threads; j++) { > obj = sc->threads + j * size; > > - spapr_cpu_core_realize_child(obj, &local_err); > + spapr_cpu_core_realize_child(obj, spapr, &local_err); > if (local_err) { > goto err; > } > >
pgpgVuNtKS41I.pgp
Description: OpenPGP digital signature