[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [PATCH] spapr_cpu_core: cleaning up qdev_get
From: |
Greg Kurz |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [PATCH] spapr_cpu_core: cleaning up qdev_get_machine() calls |
Date: |
Mon, 11 Sep 2017 23:08:11 +0200 |
On Mon, 11 Sep 2017 22:52:52 +0200
Greg Kurz <address@hidden> 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 <address@hidden>
> ---
> 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;
> }
>
>
pgp3pfD5ASTjx.pgp
Description: OpenPGP digital signature