On Fri, Jul 14, 2017 at 04:13:05PM +0100, Peter Maydell wrote:
> On 14 July 2017 at 07:15, David Gibson <david@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]
> }
Drat. Is there an easy way to test compile for w32?
> ^
>
> 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...
Yes, seems good. Should I resend, or will you adjust in place?
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson