From: David Gibson <david@gibson.dropbear.id.au>
To: Greg Kurz <groug@kaod.org>
Cc: Sam Bobroff <sam.bobroff@au1.ibm.com>,
qemu-ppc@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [Qemu-ppc] [PATCH 3/4] ppc: spapr: Rename cpu_dt_id to vcpu_id
Date: Fri, 4 Aug 2017 12:25:57 +1000 [thread overview]
Message-ID: <20170804022557.GE6553@umbus.fritz.box> (raw)
In-Reply-To: <20170803151940.03c4e557@bahia.lan>
[-- Attachment #1: Type: text/plain, Size: 10155 bytes --]
On Thu, Aug 03, 2017 at 03:19:40PM +0200, Greg Kurz wrote:
> On Thu, 3 Aug 2017 16:28:44 +1000
> Sam Bobroff <sam.bobroff@au1.ibm.com> wrote:
>
> > This field actually records the VCPU ID used by KVM and, although the
> > value is also used in the device tree it is primarily the VCPU ID so
> > rename it as such.
> >
> > Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
> > ---
>
> With this patch applied, I still have:
>
> $ git grep cpu_dt_id
> target/ppc/cpu.h: * @cpu_dt_id: CPU index used in the device tree. KVM uses this index too
>
> With that fixed,
Updated as you suggested and..
> Reviewed-by: Greg Kurz <groug@kaod.org>
.. applied to ppc-for-2.11.
>
> > hw/ppc/ppc.c | 8 ++++----
> > hw/ppc/spapr.c | 16 ++++++++--------
> > hw/ppc/spapr_hcall.c | 4 ++--
> > hw/ppc/spapr_rtas.c | 4 ++--
> > target/ppc/cpu.h | 14 +++++++-------
> > target/ppc/kvm.c | 2 +-
> > target/ppc/translate_init.c | 8 ++++----
> > 7 files changed, 28 insertions(+), 28 deletions(-)
> >
> > diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c
> > index 224184d66d..4477d4ad89 100644
> > --- a/hw/ppc/ppc.c
> > +++ b/hw/ppc/ppc.c
> > @@ -1359,19 +1359,19 @@ void PPC_debug_write (void *opaque, uint32_t addr, uint32_t val)
> > }
> >
> > /* CPU device-tree ID helpers */
> > -int ppc_get_vcpu_dt_id(PowerPCCPU *cpu)
> > +int ppc_get_vcpu_id(PowerPCCPU *cpu)
> > {
> > - return cpu->cpu_dt_id;
> > + return cpu->vcpu_id;
> > }
> >
> > -PowerPCCPU *ppc_get_vcpu_by_dt_id(int cpu_dt_id)
> > +PowerPCCPU *ppc_get_cpu_by_vcpu_id(int vcpu_id)
> > {
> > CPUState *cs;
> >
> > CPU_FOREACH(cs) {
> > PowerPCCPU *cpu = POWERPC_CPU(cs);
> >
> > - if (cpu->cpu_dt_id == cpu_dt_id) {
> > + if (cpu->vcpu_id == vcpu_id) {
> > return cpu;
> > }
> > }
> > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> > index f7a19720dc..83c77096a6 100644
> > --- a/hw/ppc/spapr.c
> > +++ b/hw/ppc/spapr.c
> > @@ -208,7 +208,7 @@ static int spapr_fixup_cpu_smt_dt(void *fdt, int offset, PowerPCCPU *cpu,
> > int i, ret = 0;
> > uint32_t servers_prop[smt_threads];
> > uint32_t gservers_prop[smt_threads * 2];
> > - int index = ppc_get_vcpu_dt_id(cpu);
> > + int index = ppc_get_vcpu_id(cpu);
> >
> > if (cpu->compat_pvr) {
> > ret = fdt_setprop_cell(fdt, offset, "cpu-version", cpu->compat_pvr);
> > @@ -237,7 +237,7 @@ static int spapr_fixup_cpu_smt_dt(void *fdt, int offset, PowerPCCPU *cpu,
> >
> > static int spapr_fixup_cpu_numa_dt(void *fdt, int offset, PowerPCCPU *cpu)
> > {
> > - int index = ppc_get_vcpu_dt_id(cpu);
> > + int index = ppc_get_vcpu_id(cpu);
> > uint32_t associativity[] = {cpu_to_be32(0x5),
> > cpu_to_be32(0x0),
> > cpu_to_be32(0x0),
> > @@ -341,7 +341,7 @@ static int spapr_fixup_cpu_dt(void *fdt, sPAPRMachineState *spapr)
> > PowerPCCPU *cpu = POWERPC_CPU(cs);
> > CPUPPCState *env = &cpu->env;
> > DeviceClass *dc = DEVICE_GET_CLASS(cs);
> > - int index = ppc_get_vcpu_dt_id(cpu);
> > + int index = ppc_get_vcpu_id(cpu);
> > int compat_smt = MIN(smp_threads, ppc_compat_max_threads(cpu));
> >
> > if ((index % smt) != 0) {
> > @@ -493,7 +493,7 @@ static void spapr_populate_cpu_dt(CPUState *cs, void *fdt, int offset,
> > PowerPCCPU *cpu = POWERPC_CPU(cs);
> > CPUPPCState *env = &cpu->env;
> > PowerPCCPUClass *pcc = POWERPC_CPU_GET_CLASS(cs);
> > - int index = ppc_get_vcpu_dt_id(cpu);
> > + int index = ppc_get_vcpu_id(cpu);
> > uint32_t segs[] = {cpu_to_be32(28), cpu_to_be32(40),
> > 0xffffffff, 0xffffffff};
> > uint32_t tbfreq = kvm_enabled() ? kvmppc_get_tbfreq()
> > @@ -626,7 +626,7 @@ static void spapr_populate_cpus_dt_node(void *fdt, sPAPRMachineState *spapr)
> > */
> > CPU_FOREACH_REVERSE(cs) {
> > PowerPCCPU *cpu = POWERPC_CPU(cs);
> > - int index = ppc_get_vcpu_dt_id(cpu);
> > + int index = ppc_get_vcpu_id(cpu);
> > DeviceClass *dc = DEVICE_GET_CLASS(cs);
> > int offset;
> >
> > @@ -2982,7 +2982,7 @@ static void *spapr_populate_hotplug_cpu_dt(CPUState *cs, int *fdt_offset,
> > {
> > PowerPCCPU *cpu = POWERPC_CPU(cs);
> > DeviceClass *dc = DEVICE_GET_CLASS(cs);
> > - int id = ppc_get_vcpu_dt_id(cpu);
> > + int id = ppc_get_vcpu_id(cpu);
> > void *fdt;
> > int offset, fdt_size;
> > char *nodename;
> > @@ -3390,9 +3390,9 @@ static void spapr_ics_resend(XICSFabric *dev)
> > ics_resend(spapr->ics);
> > }
> >
> > -static ICPState *spapr_icp_get(XICSFabric *xi, int cpu_dt_id)
> > +static ICPState *spapr_icp_get(XICSFabric *xi, int vcpu_id)
> > {
> > - PowerPCCPU *cpu = ppc_get_vcpu_by_dt_id(cpu_dt_id);
> > + PowerPCCPU *cpu = ppc_get_cpu_by_vcpu_id(vcpu_id);
> >
> > return cpu ? ICP(cpu->intc) : NULL;
> > }
> > diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c
> > index 07b3da8dc4..4ca233854a 100644
> > --- a/hw/ppc/spapr_hcall.c
> > +++ b/hw/ppc/spapr_hcall.c
> > @@ -999,7 +999,7 @@ static target_ulong h_register_vpa(PowerPCCPU *cpu, sPAPRMachineState *spapr,
> > CPUPPCState *tenv;
> > PowerPCCPU *tcpu;
> >
> > - tcpu = ppc_get_vcpu_by_dt_id(procno);
> > + tcpu = ppc_get_cpu_by_vcpu_id(procno);
> > if (!tcpu) {
> > return H_PARAMETER;
> > }
> > @@ -1431,7 +1431,7 @@ static target_ulong h_signal_sys_reset(PowerPCCPU *cpu,
> >
> > } else {
> > /* Unicast */
> > - cs = CPU(ppc_get_vcpu_by_dt_id(target));
> > + cs = CPU(ppc_get_cpu_by_vcpu_id(target));
> > if (cs) {
> > run_on_cpu(cs, spapr_do_system_reset_on_cpu, RUN_ON_CPU_NULL);
> > return H_SUCCESS;
> > diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c
> > index 94a2799b99..626c06b375 100644
> > --- a/hw/ppc/spapr_rtas.c
> > +++ b/hw/ppc/spapr_rtas.c
> > @@ -104,7 +104,7 @@ static void rtas_query_cpu_stopped_state(PowerPCCPU *cpu_,
> > }
> >
> > id = rtas_ld(args, 0);
> > - cpu = ppc_get_vcpu_by_dt_id(id);
> > + cpu = ppc_get_cpu_by_vcpu_id(id);
> > if (cpu != NULL) {
> > if (CPU(cpu)->halted) {
> > rtas_st(rets, 1, 0);
> > @@ -158,7 +158,7 @@ static void rtas_start_cpu(PowerPCCPU *cpu_, sPAPRMachineState *spapr,
> > start = rtas_ld(args, 1);
> > r3 = rtas_ld(args, 2);
> >
> > - cpu = ppc_get_vcpu_by_dt_id(id);
> > + cpu = ppc_get_cpu_by_vcpu_id(id);
> > if (cpu != NULL) {
> > CPUState *cs = CPU(cpu);
> > CPUPPCState *env = &cpu->env;
> > diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h
> > index 6ee2a26a96..89f05542c6 100644
> > --- a/target/ppc/cpu.h
> > +++ b/target/ppc/cpu.h
> > @@ -1199,7 +1199,7 @@ struct PowerPCCPU {
> > /*< public >*/
> >
> > CPUPPCState env;
> > - int cpu_dt_id;
> > + int vcpu_id;
> > uint32_t compat_pvr;
> > PPCVirtualHypervisor *vhyp;
> > Object *intc;
> > @@ -2514,22 +2514,22 @@ static inline bool lsw_reg_in_range(int start, int nregs, int rx)
> > void dump_mmu(FILE *f, fprintf_function cpu_fprintf, CPUPPCState *env);
> >
> > /**
> > - * ppc_get_vcpu_dt_id:
> > + * ppc_get_vcpu_id:
> > * @cs: a PowerPCCPU struct.
> > *
> > * Returns a device-tree ID for a CPU.
> > */
> > -int ppc_get_vcpu_dt_id(PowerPCCPU *cpu);
> > +int ppc_get_vcpu_id(PowerPCCPU *cpu);
> >
> > /**
> > - * ppc_get_vcpu_by_dt_id:
> > - * @cpu_dt_id: a device tree id
> > + * ppc_get_cpu_by_vcpu_id:
> > + * @vcpu_id: a VCPU ID
> > *
> > - * Searches for a CPU by @cpu_dt_id.
> > + * Searches for a CPU by @vcpu_id.
> > *
> > * Returns: a PowerPCCPU struct
> > */
> > -PowerPCCPU *ppc_get_vcpu_by_dt_id(int cpu_dt_id);
> > +PowerPCCPU *ppc_get_cpu_by_vcpu_id(int vcpu_id);
> >
> > void ppc_maybe_bswap_register(CPUPPCState *env, uint8_t *mem_buf, int len);
> > #endif /* PPC_CPU_H */
> > diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
> > index 85713795de..7ccb350c5f 100644
> > --- a/target/ppc/kvm.c
> > +++ b/target/ppc/kvm.c
> > @@ -512,7 +512,7 @@ bool kvmppc_is_mem_backend_page_size_ok(const char *obj_path)
> >
> > unsigned long kvm_arch_vcpu_id(CPUState *cpu)
> > {
> > - return ppc_get_vcpu_dt_id(POWERPC_CPU(cpu));
> > + return ppc_get_vcpu_id(POWERPC_CPU(cpu));
> > }
> >
> > /* e500 supports 2 h/w breakpoint and 2 watchpoint.
> > diff --git a/target/ppc/translate_init.c b/target/ppc/translate_init.c
> > index 01723bdfec..a80e9ffdf8 100644
> > --- a/target/ppc/translate_init.c
> > +++ b/target/ppc/translate_init.c
> > @@ -9828,14 +9828,14 @@ static void ppc_cpu_realizefn(DeviceState *dev, Error **errp)
> > }
> >
> > #if !defined(CONFIG_USER_ONLY)
> > - cpu->cpu_dt_id = (cs->cpu_index / smp_threads) * max_smt
> > + cpu->vcpu_id = (cs->cpu_index / smp_threads) * max_smt
> > + (cs->cpu_index % smp_threads);
> >
> > - if (kvm_enabled() && !kvm_vcpu_id_is_valid(cpu->cpu_dt_id)) {
> > - error_setg(errp, "Can't create CPU with id %d in KVM", cpu->cpu_dt_id);
> > + if (kvm_enabled() && !kvm_vcpu_id_is_valid(cpu->vcpu_id)) {
> > + error_setg(errp, "Can't create CPU with id %d in KVM", cpu->vcpu_id);
> > error_append_hint(errp, "Adjust the number of cpus to %d "
> > "or try to raise the number of threads per core\n",
> > - cpu->cpu_dt_id * smp_threads / max_smt);
> > + cpu->vcpu_id * smp_threads / max_smt);
> > goto unrealize;
> > }
> > #endif
>
--
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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2017-08-04 2:28 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-03 6:28 [Qemu-devel] [PATCH 0/4] Cleanup cpu_dt_id Sam Bobroff
2017-08-03 6:28 ` [Qemu-devel] [PATCH 1/4] spapr: Fix bug in h_signal_sys_reset() Sam Bobroff
2017-08-03 12:37 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2017-08-04 2:18 ` David Gibson
2017-08-03 6:28 ` [Qemu-devel] [PATCH 2/4] e500: Use cpu_index instead of vcpu_dt_id Sam Bobroff
2017-08-03 13:15 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2017-08-04 2:21 ` David Gibson
2017-08-03 6:28 ` [Qemu-devel] [PATCH 3/4] ppc: spapr: Rename cpu_dt_id to vcpu_id Sam Bobroff
2017-08-03 13:19 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2017-08-04 2:25 ` David Gibson [this message]
2017-08-03 6:28 ` [Qemu-devel] [PATCH 4/4] ppc: spapr: Make VCPU ID handling private to SPAPR Sam Bobroff
2017-08-03 13:23 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2017-08-04 3:10 ` [Qemu-devel] " David Gibson
2017-08-07 6:07 ` Sam Bobroff
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170804022557.GE6553@umbus.fritz.box \
--to=david@gibson.dropbear.id.au \
--cc=groug@kaod.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=sam.bobroff@au1.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).