Am 13.03.2014 18:10, schrieb Peter Maydell: > On 13 March 2014 14:54, Andreas Färber <afaer...@suse.de> wrote: >> Hello Peter, >> >> This is my current QOM CPU patch queue. Please pull. >> >> Since this touches on bsd-user code, request to apply the build fix first. >> >> NB: I was only able to test x86/ppc/arm KVM this time; s390x KVM was >> re-reviewed only. >> >> Regards, >> Andreas >> >> Cc: Peter Maydell <peter.mayd...@linaro.org> >> Cc: Anthony Liguori <anth...@codemonkey.ws> >> >> Cc: Eduardo Habkost <ehabk...@redhat.com> >> Cc: Igor Mammedov <imamm...@redhat.com> >> Cc: Christian Borntraeger <borntrae...@de.ibm.com> >> >> The following changes since commit be86c53c058d75fc3938b1b54f363259f282b3d5: >> >> Merge remote-tracking branch 'remotes/afaerber/tags/ppc-for-2.0' into >> staging (2014-03-13 13:19:46 +0000) >> >> are available in the git repository at: >> >> >> git://github.com/afaerber/qemu-cpu.git tags/qom-cpu-for-2.0 >> >> for you to fetch changes up to 98f11363e7add1e750f76e3d81750348f0470c29: >> >> user-exec: Change exception_action() argument to CPUState (2014-03-13 >> 15:35:04 +0100) > > Fails to compile on systems without CONFIG_INT128 (eg 32 bit host): > > /root/qemu/target-s390x/int_helper.c: In function ‘helper_divu64’: > /root/qemu/target-s390x/int_helper.c:111:9: error: passing argument 1 > of ‘cpu_abort’ from incompatible pointer type [-Werror] > In file included from /root/qemu/include/exec/cpu-all.h:26:0, > from /root/qemu/target-s390x/cpu.h:41, > from /root/qemu/target-s390x/int_helper.c:21: > /root/qemu/include/qom/cpu.h:620:37: note: expected ‘struct CPUState > *’ but argument is of type ‘struct CPUS390XState *’ > cc1: all warnings being treated as errors
Thanks for catching that, the following seems to fix: diff --git a/target-s390x/int_helper.c b/target-s390x/int_helper.c index 85e49aa..5ffc5a8 100644 --- a/target-s390x/int_helper.c +++ b/target-s390x/int_helper.c @@ -106,9 +106,10 @@ uint64_t HELPER(divu64)(CPUS390XState *env, uint64_t ah, uint64_t al, runtime_exception(env, PGM_FIXPT_DIVIDE, GETPC()); } #else + S390CPU *cpu = s390_env_get_cpu(env); /* 32-bit hosts would need special wrapper functionality - just abort if we encounter such a case; it's very unlikely anyways. */ - cpu_abort(env, "128 -> 64/64 division not implemented\n"); + cpu_abort(CPU(cpu), "128 -> 64/64 division not implemented\n"); #endif } return ret; git-grep showed no further missed occurrences of cpu_abort(). Will submit v2 once my testing completes. Regards, Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg