Hi, This is an early RFC patchset that adds CPU hotplug support for sPAPR guests. The patchset applies on top of spapr-pci-hotplug-ppc-next-cleanup4 branch of Michael Roth's tree (git://github.com/mdroth/qemu). I realize that Michael's branch is a fast moving target and is under review now, but my patchset depends on the hotplug framework that Michael is adding.
The division of the patches might look artificial at places, that's because I have tried to separate the cleanup vs the actual changes I am adding. Also there are a few fixes (like endianness fixes) that probably could be part of Michael's patchset itself. With the current patchset, I am able to hotplug CPUs to a BE guest successfully. There are issues with LE guest which I still need to resolve. The hotplug semantics (adding CPU vs adding core) hasn't yet been finalized and I have described this issue in the patch 15/15. Also this needs a few endian fixes to PowerPC kernel (in the CPU hotplug code path), which I will be posting later separately. Bharata B Rao (15): ppc: Store dr entity state bits at the right bit offset ppc: Rename SPAPR_DRC_TABLE_SIZE to SPAPR_DRC_PHB_TABLE_SIZE ppc: Rename sPAPRDrcEntry.phb_buid to sPAPRDrcEntry.id ppc: Make creation of DRC entries in FDT endian safe ppc: Accommodate CPU DRC entries in DRC table ppc: stop after getting first unused DR slot in DRC table ppc: Initialize DRC table before initializing CPUs ppc: Add CPU dynamic reconfiguration (DR) support ppc: Consider max_cpus during xics initialization ppc: Factor out CPU initialization code to a new routine ppc: Move RTAS indicator defines to a header file ppc: Support ibm,lrdr-capacity device tree property ppc: Make ibm,configure-connector endian-safe ppc: Add CPU hotplug support for sPAPR guests ppc: Allow hotplugging of CPU cores only hw/ppc/spapr.c | 550 +++++++++++++++++++++++++++++++++++++++----- hw/ppc/spapr_events.c | 35 ++- hw/ppc/spapr_pci.c | 40 +--- hw/ppc/spapr_rtas.c | 28 ++- include/hw/ppc/spapr.h | 55 ++++- target-ppc/translate_init.c | 5 + 6 files changed, 603 insertions(+), 110 deletions(-) -- 1.7.11.7