]> git.proxmox.com Git - mirror_qemu.git/blobdiff - include/migration/misc.h
osdep: powerpc64 align memory to allow 2MB radix THP page tables
[mirror_qemu.git] / include / migration / misc.h
index d7892b7956b82f34d3c6d8b9760d698eda96f904..4ebf24c6c2d8665ab5430e4b62b15d361663bbaa 100644 (file)
@@ -14,6 +14,8 @@
 #ifndef MIGRATION_MISC_H
 #define MIGRATION_MISC_H
 
+#include "qemu/notify.h"
+
 /* migration/ram.c */
 
 void ram_mig_init(void);
@@ -26,4 +28,35 @@ void blk_mig_init(void);
 static inline void blk_mig_init(void) {}
 #endif
 
+#define SELF_ANNOUNCE_ROUNDS 5
+
+static inline
+int64_t self_announce_delay(int round)
+{
+    assert(round < SELF_ANNOUNCE_ROUNDS && round > 0);
+    /* delay 50ms, 150ms, 250ms, ... */
+    return 50 + (SELF_ANNOUNCE_ROUNDS - round - 1) * 100;
+}
+
+/* migration/savevm.c */
+
+void dump_vmstate_json_to_file(FILE *out_fp);
+
+/* migration/migration.c */
+void migration_object_init(void);
+void migration_object_finalize(void);
+void qemu_start_incoming_migration(const char *uri, Error **errp);
+bool migration_is_idle(void);
+void add_migration_state_change_notifier(Notifier *notify);
+void remove_migration_state_change_notifier(Notifier *notify);
+bool migration_in_setup(MigrationState *);
+bool migration_has_finished(MigrationState *);
+bool migration_has_failed(MigrationState *);
+/* ...and after the device transmission */
+bool migration_in_postcopy_after_devices(MigrationState *);
+void migration_global_dump(Monitor *mon);
+
+/* migration/block-dirty-bitmap.c */
+void dirty_bitmap_mig_init(void);
+
 #endif