These patches implement a PAPR extension to allow 'pseries' machine type guests to resize their hashed page table (HPT). This allows for more flexible memory hotplug, because we don't need to size the initial HPT for the maximum memory size. That's particularly valuable with (HV) KVM, since the HPT has to be host physically contiguous.
I believe this is ready to be staged for qemu-2.10 now, and assuming there are no objections or changes suggested, I'll merge this to my ppc-for-2.10 branch. Since the last post this has been rebased (not trivial, due to the HPT handling cleanups which went in recently). I've also removed an assert which I suspect could be triggered by the guest. Changes since v1: * Fixed some bisect breakage due to some hunks not being in quite the right patch of the series. * Use pc_existing_dimms_capacity() instead of an open-coded equivalent David Gibson (5): pseries: Stubs for HPT resizing pseries: Implement HPT resizing pseries: Enable HPT resizing for 2.10 pseries: Use smaller default hash page tables when guest can resize pseries: Allow HPT resizing with KVM hw/ppc/spapr.c | 103 ++++++++++- hw/ppc/spapr_hcall.c | 430 ++++++++++++++++++++++++++++++++++++++++++++ hw/ppc/trace-events | 2 + include/hw/ppc/spapr.h | 19 ++ include/hw/ppc/spapr_ovec.h | 1 + target/ppc/kvm.c | 75 ++++++++ target/ppc/kvm_ppc.h | 26 +++ target/ppc/mmu-hash64.h | 4 + 8 files changed, 652 insertions(+), 8 deletions(-) -- 2.9.3