On 04/05/2024 14.28, Nicholas Piggin wrote:
Mark the failing h_cede_tm and spapr_vpa tests as kfail.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
---
  powerpc/spapr_vpa.c | 3 ++-
  powerpc/tm.c        | 3 ++-
  2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/powerpc/spapr_vpa.c b/powerpc/spapr_vpa.c
index c2075e157..46fa0485c 100644
--- a/powerpc/spapr_vpa.c
+++ b/powerpc/spapr_vpa.c
@@ -150,7 +150,8 @@ static void test_vpa(void)
                report_fail("Could not deregister after registration");
disp_count1 = be32_to_cpu(vpa->vp_dispatch_count);
-       report(disp_count1 % 2 == 1, "Dispatch count is odd after deregister");
+       /* TCG known fail, could be wrong test, must verify against PowerVM */
+       report_kfail(true, disp_count1 % 2 == 1, "Dispatch count is odd after 
deregister");

Using "true" as first argument looks rather pointless - then you could also simply delete the test completely if it can never be tested reliably.

Thus could you please introduce a helper function is_tcg() that could be used to check whether we run under TCG (and not KVM)? I think you could check for "linux,kvm" in the "compatible" property in /hypervisor in the device tree to see whether we're running in KVM mode or in TCG mode.

        report_prefix_pop();
  }
diff --git a/powerpc/tm.c b/powerpc/tm.c
index 6b1ceeb6e..d9e7f455d 100644
--- a/powerpc/tm.c
+++ b/powerpc/tm.c
@@ -133,7 +133,8 @@ int main(int argc, char **argv)
                report_skip("TM is not available");
                goto done;
        }
-       report(cpus_with_tm == nr_cpus,
+       /* KVM does not report TM in secondary threads in POWER9 */
+       report_kfail(true, cpus_with_tm == nr_cpus,
               "TM available in all 'ibm,pa-features' properties");

Could you check the PVR for POWER9 here instead of using "true" as first parameter?

 Thomas

Reply via email to