qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [Qemu-ppc] [PULL 0/7] ppc-for-2.10 queue 20170822


From: Daniel Henrique Barboza
Subject: Re: [Qemu-devel] [Qemu-ppc] [PULL 0/7] ppc-for-2.10 queue 20170822
Date: Tue, 22 Aug 2017 09:31:14 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1



On 08/22/2017 07:52 AM, Peter Maydell wrote:
On 22 August 2017 at 11:41, Laurent Vivier <address@hidden> wrote:
On 22/08/2017 11:53, Peter Maydell wrote:
On 22 August 2017 at 10:43, Laurent Vivier <address@hidden> wrote:
On 22/08/2017 11:34, Peter Maydell wrote:
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);
  }

Good catch. I forgot to cover/test TCG scenarios with this patch and this bug
flew under the radar completely :(

Yep, fixes the failure for me too. David, can you respin your
pull request, please?

I've send a v2 of the patch including Laurent's fix too. Feel free to use the v2 or
amend it on top of the existing v1, whatever is easier.


Thanks,

Daniel


thanks
-- PMM





reply via email to

[Prev in Thread] Current Thread [Next in Thread]