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