On Fri, Jun 10, 2016 at 06:28:59AM +0530, Bharata B Rao wrote: > Hi, > > This is the next version of the CPU hotplug patchset for PowerPC > sPAPR target. The hotplug semantics looks like this: > > (qemu) device_add POWER8E-spapr-cpu-core,id=core2,core-id=16[,threads=4] > (qemu) device_add host-spapr-cpu-core,id=core2,core-id=16[,threads=4] > (qemu) device_add > POWER8E_v2.1-spapr-cpu-core,id=core2,core-id=16[,threads=4]
I've merged these to my ppc-cpu-hotplug branch, and I'm doing some testing. It it checks out, I hope to send a pull request. > > Changes in v4 > ------------- > - Rebased against David Gibson's ppc-cpu-hotplug and hence dropped those > patches that are already part of that tree. > - We were assuming the CPU thread to be always of type PowerPCCPU which > needn't be true. Hence use actual CPU type's instance_size when > object_initialize'ing the threads as per David's suggestion. This requires > us to know the instance_size for a given type for which a new QOM API > object_type_get_size() has been introduced in this version. > - Consolidate CPU init related routines in spapr_cpu_core.c. As part of this > move spapr_cpu_init() and its dependencies to spapr_cpu_core.c. > - Got rid of the temporary unplug list when removing CPU cores. > - Folded spapr_cpu_core_create_threads() into spapr_cpu_core_realize() and > fixed the error path in in spapr_cpu_core_realize(). > - Add support for -cpu host. > > TODOs remaining > --------------- > - Work on David's suggestion of intializing CPU's ObjectClass in > class_init rather than instance_init. > - Use object_initialize_with_type instead of object_initialize when > creating CPU threads of a core. > - Use vcpu_dt_id logic when populating core id in > spapr_query_hotpluggable_cpus(). > - Handle CPU compat properly (-cpu host,compat=POWER7) > > v3: https://lists.gnu.org/archive/html/qemu-devel/2016-05/msg01829.html > > Bharata B Rao (7): > qom: API to get instance_size of a type > spapr: Abstract CPU core device and type specific core devices > spapr: Move spapr_cpu_init() to spapr_cpu_core.c > spapr: convert boot CPUs into CPU core devices > spapr: CPU hotplug support > spapr: CPU hot unplug support > hmp: Add 'info hotpluggable-cpus' HMP command > > Igor Mammedov (2): > QMP: Add query-hotpluggable-cpus > spapr: implement query-hotpluggable-cpus callback > > hmp-commands-info.hx | 14 ++ > hmp.c | 41 ++++ > hmp.h | 1 + > hw/ppc/Makefile.objs | 1 + > hw/ppc/spapr.c | 215 +++++++++++++++------ > hw/ppc/spapr_cpu_core.c | 405 > ++++++++++++++++++++++++++++++++++++++++ > hw/ppc/spapr_events.c | 3 + > hw/ppc/spapr_rtas.c | 24 +++ > include/hw/boards.h | 5 + > include/hw/ppc/spapr.h | 7 + > include/hw/ppc/spapr_cpu_core.h | 36 ++++ > include/qom/object.h | 8 +- > monitor.c | 13 ++ > qapi-schema.json | 55 ++++++ > qmp-commands.hx | 23 +++ > qom/object.c | 8 + > target-ppc/kvm.c | 28 +++ > 17 files changed, 828 insertions(+), 59 deletions(-) > create mode 100644 hw/ppc/spapr_cpu_core.c > create mode 100644 include/hw/ppc/spapr_cpu_core.h > -- 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