[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: |
David Gibson |
Subject: |
Re: [Qemu-devel] [Qemu-ppc] [PATCH 2/4] e500: Use cpu_index instead of vcpu_dt_id |
Date: |
Fri, 4 Aug 2017 12:21:51 +1000 |
User-agent: |
Mutt/1.8.3 (2017-05-23) |
On Thu, Aug 03, 2017 at 03:15:04PM +0200, Greg Kurz wrote:
> 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.
Uh.. sort of, it's really more about the host than guest restrictions.
I've rewritten the commit message to give a bit more context.
> > 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>
Applied to ppc-for-2.11
>
> > ---
> > 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",
>
--
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