On 14 July 2017 at 07:15, David Gibson <da...@gibson.dropbear.id.au> wrote: > The following changes since commit 49bcce4b9c11759678fd223aefb48691c4959d4f: > > Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2017-07-12' > into staging (2017-07-13 16:56:06 +0100) > > are available in the git repository at: > > git://github.com/dgibson/qemu.git tags/ppc-for-2.10-20170714 > > for you to fetch changes up to e11134d2ac7744569d7c387102368c507d340c30: > > pseries: Allow HPT resizing with KVM (2017-07-14 09:28:30 +1000) > > ---------------------------------------------------------------- > ppc patch queue 2017-07-14 > > Two major batches in this set, rather than the usual collection of > assorted fixes. > > * More DRC cleanup. This gets the state management into a state > which should fix many of the hotplug+migration problems we've > had. Plus it gets the migration stream format into something > well defined and pretty minimal which we can reasonably support > into the future. > > * Hashed Page Table resizing. It's been a while since this was > posted, but it's been through several previous rounds of review. > The kernel parts (both guest and host) are merged in 4.11, so > this is the only remaining piece left to allow resizing of the > HPT in a running guest. > > There are also a handful of unrelated fixes.
Hi. I'm afraid this fails to build on the w32 compiler: CC ppc64-softmmu/hw/ppc/spapr.o /home/petmay01/linaro/qemu-for-merges/hw/ppc/spapr.c: In function ‘spapr_get_resize_hpt’: /home/petmay01/linaro/qemu-for-merges/hw/ppc/spapr.c:2642:1: error: control reaches end of non-void functio n [-Werror=return-type] } ^ The compiler is confused (it doesn't realise that "assert(0)" cannot return), but you can make it happier like this: diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 09b6ff0..68f936c 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -2638,7 +2638,7 @@ static char *spapr_get_resize_hpt(Object *obj, Error **errp) case SPAPR_RESIZE_HPT_REQUIRED: return g_strdup("required"); } - assert(0); + g_assert_not_reached(); } static void spapr_set_resize_hpt(Object *obj, const char *value, Error **errp) I think g_assert_not_reached() is easier to read anyway; I always have to think for a moment about whether assert(0) or assert(1) is the "always assert" condition... thanks -- PMM