@@ -31,12 +31,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;
@@ -3425,29 +3419,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;
@@ -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)
{
@@ -325,3 +331,26 @@ bool ufd_version_check(bool *uffd_feature_thread_id)
return true;
}
#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
+}
@@ -78,6 +78,8 @@ static inline bool ufd_version_check(bool *uffd_feature_thread_id)
}
#endif
+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);
Move kvm_dirty_ring_supported() to migration-util.c. Similarly to ufd_version_check(), this function is used during test definition so put it in the utils file. Signed-off-by: Fabiano Rosas <farosas@suse.de> --- tests/qtest/migration-test.c | 29 -------------------------- tests/qtest/migration/migration-util.c | 29 ++++++++++++++++++++++++++ tests/qtest/migration/migration-util.h | 2 ++ 3 files changed, 31 insertions(+), 29 deletions(-)