On Wed, 6 Jul 2016 19:51:01 +0530 Bharata B Rao <bhar...@linux.vnet.ibm.com> wrote:
> On Wed, Jul 06, 2016 at 02:01:14PM +0200, Igor Mammedov wrote: > > On Wed, 6 Jul 2016 14:29:19 +0530 > > Bharata B Rao <bhar...@linux.vnet.ibm.com> wrote: > > > > > cpu_index is used as migration_id by default. For machine type > > > versions that set use-migration-id property, cpu_dt_it is returned. > > > > > > Signed-off-by: Bharata B Rao <bhar...@linux.vnet.ibm.com> > > > --- > > > target-ppc/translate_init.c | 12 ++++++++++++ > > > 1 file changed, 12 insertions(+) > > > > > > diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c > > > index efd6b88..9ca2f5e 100644 > > > --- a/target-ppc/translate_init.c > > > +++ b/target-ppc/translate_init.c > > > @@ -10359,6 +10359,17 @@ static gchar *ppc_gdb_arch_name(CPUState *cs) > > > #endif > > > } > > > > > > +static int ppc_cpu_get_migration_id(CPUState *cs) > > > +{ > > > + PowerPCCPU *cpu = POWERPC_CPU(cs); > > > + > > > + if (cs->use_migration_id) { > > > + return (int) cpu->cpu_dt_id; > > Could cpu_dt_id have value bigger than 32bit int? If yes, it's not safe > > to do so, that's the reason why I'm going to use index in possible_cpus > > on ARM and for the sake of uniformity do the same for x86 (even though > > it's possible to use 32bit APIC ID). > > For the existing max_cpus limit, 32 bit should be fine, but obviously > that is not good and future safe. > And BTW, cpu_dt_id is actually an int > I had a brief look at the implementation around possible_cpus in > x86, let me see if I can do something similar for generating stable > ids for PowerPC. I thought device tree ID would be our stable id, but > that being 64 bit and migration code requiring 32 bit value isn't > helping :( > Yes you have stable ids, look at my other answer to this patch. > Regards, > Bharata. >