David, I am responding to just one comment here and will respond to others in detail later.
On Fri, Feb 26, 2016 at 03:03:17PM +1100, David Gibson wrote: > > > + if (!strstart(prop->name, SPAPR_MACHINE_CPU_CORE_PROP, NULL)) { > > + continue; > > + } > > + > > + elem = g_new0(CPUSlotInfoList, 1); > > + s = g_new0(CPUSlotInfo, 1); > > + > > + obj = object_property_get_link(root_container, prop->name, NULL); > > + if (obj) { > > + /* Slot populated */ > > + dev = DEVICE(obj); > > + core = SPAPR_CPU_CORE(obj); > > + > > + if (dev->id) { > > + s->has_id = true; > > + s->id = g_strdup(dev->id); > > + } > > + s->realized = object_property_get_bool(obj, "realized", NULL); > > + s->nr_cpus = core->nr_threads; > > + s->has_nr_cpus = true; > > + s->qom_path = object_get_canonical_path(obj); > > + s->has_qom_path = true; > > + if (s->realized) { > > + spapr_cpuinfo_list(obj, &cpu_prev); > > + } > > + s->has_cpus = true; > > + } else { > > + /* Slot empty */ > > + s->has_id = false; > > + s->has_nr_cpus = false; > > + s->has_qom_path = false; > > + s->has_cpus = false; > > + s->realized = false; > > Um.. doesn't this leave out the cpu model and nr_threads for a > non-populated slot? Which is crucial information for mgmt to populate > the slot. Actually if we don't allow heterogenous configurations, management currently knows how to get model and threads that have already been specified with -cpu and -smp global options respectively. If we want to support heterogenous configurations, should we then have supported model types and thread values listed here ? At the moment I am not sure what those supported types and thread values could be. Regards, Bharata.