[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Qemu-ppc] [PATCH 2/4] e500: Use cpu_index instead of v
From: |
Greg Kurz |
Subject: |
Re: [Qemu-devel] [Qemu-ppc] [PATCH 2/4] e500: Use cpu_index instead of vcpu_dt_id |
Date: |
Thu, 3 Aug 2017 15:15:04 +0200 |
On Thu, 3 Aug 2017 16:28:36 +1000
Sam Bobroff <address@hidden> wrote:
> The e500 platform code uses the function ppc_get_vcpu_dt_id() but that
> function is actually specific to SPAPR machines, not PPC CPUs, and
> will always return the cpu_index in this context.
>
ie, e500 compatible CPUs don't support SMT ? Then maybe the e500 machine
should ensure smp_threads == 1, but this can done in a followup patch.
> Simply use the cpu_index instead (which is 'i' in this context
> because qemu_get_cpu(i) returns the cpu with cpu_index == i).
>
> Signed-off-by: Sam Bobroff <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
> ---
> hw/ppc/e500.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
> index 62f1857206..2a6d34ceb1 100644
> --- a/hw/ppc/e500.c
> +++ b/hw/ppc/e500.c
> @@ -382,7 +382,6 @@ static int ppce500_load_device_tree(MachineState *machine,
> the first node as boot node and be happy */
> for (i = smp_cpus - 1; i >= 0; i--) {
> CPUState *cpu;
> - PowerPCCPU *pcpu;
> char cpu_name[128];
> uint64_t cpu_release_addr = params->spin_base + (i * 0x20);
>
> @@ -391,16 +390,13 @@ static int ppce500_load_device_tree(MachineState
> *machine,
> continue;
> }
> env = cpu->env_ptr;
> - pcpu = POWERPC_CPU(cpu);
>
> - snprintf(cpu_name, sizeof(cpu_name), "/cpus/PowerPC,address@hidden",
> - ppc_get_vcpu_dt_id(pcpu));
> + snprintf(cpu_name, sizeof(cpu_name), "/cpus/PowerPC,address@hidden",
> i);
> qemu_fdt_add_subnode(fdt, cpu_name);
> qemu_fdt_setprop_cell(fdt, cpu_name, "clock-frequency", clock_freq);
> qemu_fdt_setprop_cell(fdt, cpu_name, "timebase-frequency", tb_freq);
> qemu_fdt_setprop_string(fdt, cpu_name, "device_type", "cpu");
> - qemu_fdt_setprop_cell(fdt, cpu_name, "reg",
> - ppc_get_vcpu_dt_id(pcpu));
> + qemu_fdt_setprop_cell(fdt, cpu_name, "reg", i);
> qemu_fdt_setprop_cell(fdt, cpu_name, "d-cache-line-size",
> env->dcache_line_size);
> qemu_fdt_setprop_cell(fdt, cpu_name, "i-cache-line-size",
pgpcOu4gecW7D.pgp
Description: OpenPGP digital signature