The ppc64 postcopy test does not work with KVM-PR, and it is also causing annoying warning messages when run on a x86 host. So let's use KVM here only if we know that we're running with KVM-HV (which automatically also means that we're running on a ppc64 host), and use TCG otherwise.
Signed-off-by: Thomas Huth <th...@redhat.com> --- v2: - Check also /dev/kvm to make sure that we're allowed to access KVM - Use only "accel=kvm" instead of "accel=kvm:tcg" if we feel confident that we're running with KVM-HV and can use it tests/postcopy-test.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/tests/postcopy-test.c b/tests/postcopy-test.c index d6613c5..e4f0f3f 100644 --- a/tests/postcopy-test.c +++ b/tests/postcopy-test.c @@ -380,17 +380,27 @@ static void test_migrate(void) " -incoming %s", tmpfs, bootpath, uri); } else if (strcmp(arch, "ppc64") == 0) { + const char *accel = "tcg"; + + /* + * We preferably want to test with KVM, but on ppc64, the test only + * works with kvm-hv, not with kvm-pr, so we check that here first + */ + if (access("/sys/module/kvm_hv", F_OK) == 0 && + access("/dev/kvm", R_OK | W_OK) == 0) { + accel = "kvm"; + } init_bootfile_ppc(bootpath); - cmd_src = g_strdup_printf("-machine accel=kvm:tcg -m 256M" + cmd_src = g_strdup_printf("-machine accel=%s -m 256M" " -name pcsource,debug-threads=on" " -serial file:%s/src_serial" " -drive file=%s,if=pflash,format=raw", - tmpfs, bootpath); - cmd_dst = g_strdup_printf("-machine accel=kvm:tcg -m 256M" + accel, tmpfs, bootpath); + cmd_dst = g_strdup_printf("-machine accel=%s -m 256M" " -name pcdest,debug-threads=on" " -serial file:%s/dest_serial" " -incoming %s", - tmpfs, uri); + accel, tmpfs, uri); } else { g_assert_not_reached(); } -- 1.8.3.1