On 22/08/2017 11:53, Peter Maydell wrote: > On 22 August 2017 at 10:43, Laurent Vivier <lviv...@redhat.com> wrote: >> On 22/08/2017 11:34, Peter Maydell wrote: >>> On 22 August 2017 at 05:24, David Gibson <da...@gibson.dropbear.id.au> >>> wrote: >>>> The following changes since commit >>>> 1f296733876434118fd766cfef5eb6f29ecab6a8: >>>> >>>> Update version for v2.10.0-rc3 release (2017-08-15 18:53:31 +0100) >>>> >>>> are available in the git repository at: >>>> >>>> git://github.com/dgibson/qemu.git tags/ppc-for-2.10-20170822 >>>> >>>> for you to fetch changes up to d3234e2851f1630c695c681beac1e87ac0881260: >>>> >>>> hw/ppc/spapr_iommu: Fix crash when removing the "spapr-tce-table" device >>>> (2017-08-22 11:11:30 +1000) >>>> >>>> ---------------------------------------------------------------- >>>> ppc patch queue 2017-08-22 >>>> >>>> Last minute ppc related fixes for qemu-2.10. I'm not sure if these >>>> are critical enough to prompt another rc, but I'm submitting them for >>>> consideration. >>>> >>>> First, is Cornelia's fix for 480bc11e6 which meant "make check" would >>>> always fail on a ppc host. Tracking that down delayed submission of >>>> the rest of these patches, sorry. >>>> >>>> The rest are all fairly important bugfixes for qemu crashes or guest >>>> behaviour regression on ppc. Patches 2-4 specifically are fixes for >>>> regressions from qemu-2.9, caused by the compatibility mode and >>>> hotplug handling cleanups for the pseries machine type. >>>> >>>> ---------------------------------------------------------------- >>> >>> I get a make check failure on ppc64 Linux: >>> >>> TEST: tests/postcopy-test... (pid=12468) >>> /ppc64/postcopy: >>> Broken pipe >>> qemu-system-ppc64: RP: Received invalid message 0x0000 length 0x0000 >>> FAIL >>> GTester: last random seed: R02Se5468e06f561627824306d95b0566d2b >>> (pid=13011) >>> FAIL: tests/postcopy-test
The problem is in: bool kvmppc_pvr_workaround_required(PowerPCCPU *cpu) { CPUState *cs = CPU(cpu); if (cap_ppc_pvr_compat) { return false; } return !kvmppc_is_pr(cs->kvm_state); } It guesses !kvm pr means kvm_hv. That is not true, it can be TCG. This fixes the problem for me: --- a/target/ppc/kvm.c +++ b/target/ppc/kvm.c @@ -2817,5 +2817,5 @@ bool kvmppc_pvr_workaround_required(PowerPCCPU *cpu) return false; } - return !kvmppc_is_pr(cs->kvm_state); + return kvm_enabled() && !kvmppc_is_pr(cs->kvm_state); } [CC' Daniel] Thanks, Laurent