diff options
-rw-r--r-- | tests/qtest/migration-test.c | 29 | ||||
-rw-r--r-- | tests/qtest/migration/migration-util.c | 29 | ||||
-rw-r--r-- | tests/qtest/migration/migration-util.h | 1 |
3 files changed, 30 insertions, 29 deletions
diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c index f1c1ca3..ab7cbb8 100644 --- a/tests/qtest/migration-test.c +++ b/tests/qtest/migration-test.c @@ -32,12 +32,6 @@ # endif /* CONFIG_TASN1 */ #endif /* CONFIG_GNUTLS */ -/* For dirty ring test; so far only x86_64 is supported */ -#if defined(__linux__) && defined(HOST_X86_64) -#include "linux/kvm.h" -#include <sys/ioctl.h> -#endif - unsigned start_address; unsigned end_address; static bool uffd_feature_thread_id; @@ -3435,29 +3429,6 @@ static void test_dirty_limit(void) migrate_end(from, to, true); } -static bool kvm_dirty_ring_supported(void) -{ -#if defined(__linux__) && defined(HOST_X86_64) - int ret, kvm_fd = open("/dev/kvm", O_RDONLY); - - if (kvm_fd < 0) { - return false; - } - - ret = ioctl(kvm_fd, KVM_CHECK_EXTENSION, KVM_CAP_DIRTY_LOG_RING); - close(kvm_fd); - - /* We test with 4096 slots */ - if (ret < 4096) { - return false; - } - - return true; -#else - return false; -#endif -} - int main(int argc, char **argv) { bool has_kvm, has_tcg; diff --git a/tests/qtest/migration/migration-util.c b/tests/qtest/migration/migration-util.c index 2ff8870..525bf1e 100644 --- a/tests/qtest/migration/migration-util.c +++ b/tests/qtest/migration/migration-util.c @@ -28,6 +28,12 @@ #include "qemu/userfaultfd.h" #endif +/* For dirty ring test; so far only x86_64 is supported */ +#if defined(__linux__) && defined(HOST_X86_64) +#include "linux/kvm.h" +#include <sys/ioctl.h> +#endif + static char *SocketAddress_to_str(SocketAddress *addr) { @@ -331,3 +337,26 @@ bool ufd_version_check(bool *uffd_feature_thread_id) return false; } #endif + +bool kvm_dirty_ring_supported(void) +{ +#if defined(__linux__) && defined(HOST_X86_64) + int ret, kvm_fd = open("/dev/kvm", O_RDONLY); + + if (kvm_fd < 0) { + return false; + } + + ret = ioctl(kvm_fd, KVM_CHECK_EXTENSION, KVM_CAP_DIRTY_LOG_RING); + close(kvm_fd); + + /* We test with 4096 slots */ + if (ret < 4096) { + return false; + } + + return true; +#else + return false; +#endif +} diff --git a/tests/qtest/migration/migration-util.h b/tests/qtest/migration/migration-util.h index 2ab22e3..f5f2e46 100644 --- a/tests/qtest/migration/migration-util.h +++ b/tests/qtest/migration/migration-util.h @@ -49,6 +49,7 @@ static inline bool probe_o_direct_support(const char *tmpfs) #endif bool ufd_version_check(bool *uffd_feature_thread_id); +bool kvm_dirty_ring_supported(void); void migration_test_add(const char *path, void (*fn)(void)); char *migrate_get_connect_uri(QTestState *who); void migrate_set_ports(QTestState *to, QList *channel_list); |