qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] [PATCH qom-cpu-next] e500: Replace open-coded loop with q


From: Alexander Graf
Subject: Re: [Qemu-ppc] [PATCH qom-cpu-next] e500: Replace open-coded loop with qemu_get_cpu()
Date: Fri, 15 Feb 2013 15:29:18 +0100

On 15.02.2013, at 15:25, Andreas Färber wrote:

> Since we still need env for ppc-specific fields, obtain it via the new
> env_ptr fields to avoid "cpu" name conflicts between CPUState and
> PowerPCCPU for now.
> 
> This fixes a potential issue with env being NULL at the end of the loop
> but cpu still being a valid pointer corresponding to a previous env.
> 
> Signed-off-by: Andreas Färber <address@hidden>
> ---
> Alex, this is a rebased and slimmed-down version of yesterday's paste.
> Can you ack please? Thanks, /-F

In your QOM conversion you also converted other places like this. Have you 
verified that these don't suffer from the same problem?


Alex

> 
> hw/ppc/e500.c |   11 +++--------
> 1 Datei geändert, 3 Zeilen hinzugefügt(+), 8 Zeilen entfernt(-)
> 
> diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
> index b7474c0..451682c 100644
> --- a/hw/ppc/e500.c
> +++ b/hw/ppc/e500.c
> @@ -240,20 +240,15 @@ static int ppce500_load_device_tree(CPUPPCState *env,
>     /* We need to generate the cpu nodes in reverse order, so Linux can pick
>        the first node as boot node and be happy */
>     for (i = smp_cpus - 1; i >= 0; i--) {
> -        CPUState *cpu = NULL;
> +        CPUState *cpu;
>         char cpu_name[128];
>         uint64_t cpu_release_addr = MPC8544_SPIN_BASE + (i * 0x20);
> 
> -        for (env = first_cpu; env != NULL; env = env->next_cpu) {
> -            cpu = ENV_GET_CPU(env);
> -            if (cpu->cpu_index == i) {
> -                break;
> -            }
> -        }
> -
> +        cpu = qemu_get_cpu(i);
>         if (cpu == NULL) {
>             continue;
>         }
> +        env = cpu->env_ptr;
> 
>         snprintf(cpu_name, sizeof(cpu_name), "/cpus/PowerPC,address@hidden",
>                  cpu->cpu_index);
> -- 
> 1.7.10.4
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]