On Thu, 31 Mar 2016 14:09:09 +0530 Bharata B Rao <bhar...@linux.vnet.ibm.com> wrote:
> Hi, > > This is v2.1 of "Core based CPU hotplug for PowerPC sPAPR". v2 was > posted here: > https://lists.gnu.org/archive/html/qemu-ppc/2016-03/msg00201.html > > I am making this v2.1 instead of v3 as this introduces a change in > device_add semantics and if we don't want to continue this, I will go > back to the previous v2 semantics from v3 onwards. v2 had > spapr-cpu-core device that served as CPU core device for all types of > PowerPCCPU threads. In this version however, spapr-cpu-core becomes > an abstract device and we will have different core devices for each > of the PowerPCCPU type. So in this version, the hotplug semantics > looks like this: > > (qemu) device_add POWER8-spapr-cpu-core,id=core2,core=16[,threads=4] > > cpu_model specification is gone as it becomes redundant with different > core types for each CPU type. CPU core types are defined only for > host, POWER7 and POWER8 models only (and not for their > variants/aliases) yet. > > I have mostly taken care of all the review comments that I got for v2. Could you rebase on top of current master, pls? and fix compile error: hw/cpu/core.c: In function ‘core_prop_set_core’: hw/cpu/core.c:31:9: error: implicit declaration of function ‘error_propagate’ [-Werror=implicit-function-declaration] error_propagate(errp, local_err); > > Major changes in this version (v2.1) > ------------------------------------ > - Semantics change: spapr-cpu-core to POWER8-spapr-cpu-core and > likewise > - Included Igor's pre_plug patch. > > Bharata B Rao (10): > exec: Remove cpu from cpus list during cpu_exec_exit() > exec: Do vmstate unregistration from cpu_exec_exit() > cpu: Add a sync version of cpu_remove() > cpu: Abstract CPU core type > spapr: Abstract CPU core device > spapr: Add CPU type specific core devices > spapr: convert boot CPUs into CPU core devices > spapr: CPU hotplug support > xics,xics_kvm: Handle CPU unplug correctly > spapr: CPU hot unplug support > > Gu Zheng (1): > cpu: Reclaim vCPU objects > > Igor Mammedov (1): > qdev: hotplug: Introduce HotplugHandler.pre_plug() callback > > cpus.c | 51 +++++- > exec.c | 41 ++++- > hw/core/hotplug.c | 11 ++ > hw/core/qdev.c | 9 +- > hw/cpu/Makefile.objs | 1 + > hw/cpu/core.c | 87 ++++++++++ > hw/intc/xics.c | 14 ++ > hw/intc/xics_kvm.c | 8 +- > hw/ppc/Makefile.objs | 1 + > hw/ppc/spapr.c | 150 +++++++++++++++-- > hw/ppc/spapr_cpu_core.c | 349 > ++++++++++++++++++++++++++++++++++++++++ > hw/ppc/spapr_events.c | 3 + > hw/ppc/spapr_rtas.c | 24 +++ > include/hw/cpu/core.h | 31 ++++ > include/hw/hotplug.h | 14 +- > include/hw/ppc/spapr.h | 6 + > include/hw/ppc/spapr_cpu_core.h | 79 +++++++++ > include/hw/ppc/xics.h | 1 + > include/qom/cpu.h | 18 +++ > include/sysemu/kvm.h | 1 + > kvm-all.c | 57 ++++++- > kvm-stub.c | 5 + 22 files changed, 932 > insertions(+), 29 deletions(-) create mode 100644 hw/cpu/core.c > create mode 100644 hw/ppc/spapr_cpu_core.c > create mode 100644 include/hw/cpu/core.h > create mode 100644 include/hw/ppc/spapr_cpu_core.h >