aboutsummaryrefslogtreecommitdiff
path: root/migration/migration.h
diff options
context:
space:
mode:
Diffstat (limited to 'migration/migration.h')
-rw-r--r--migration/migration.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/migration/migration.h b/migration/migration.h
index d9a268a3af..148c9facbc 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -19,6 +19,7 @@
#include "qapi-types.h"
#include "exec/cpu-common.h"
#include "qemu/coroutine_int.h"
+#include "hw/qdev.h"
/* State for the incoming migration */
struct MigrationIncomingState {
@@ -62,8 +63,26 @@ struct MigrationIncomingState {
MigrationIncomingState *migration_incoming_get_current(void);
void migration_incoming_state_destroy(void);
+#define TYPE_MIGRATION "migration"
+
+#define MIGRATION_CLASS(klass) \
+ OBJECT_CLASS_CHECK(MigrationClass, (klass), TYPE_MIGRATION)
+#define MIGRATION_OBJ(obj) \
+ OBJECT_CHECK(MigrationState, (obj), TYPE_MIGRATION)
+#define MIGRATION_GET_CLASS(obj) \
+ OBJECT_GET_CLASS(MigrationClass, (obj), TYPE_MIGRATION)
+
+typedef struct MigrationClass {
+ /*< private >*/
+ DeviceClass parent_class;
+} MigrationClass;
+
struct MigrationState
{
+ /*< private >*/
+ DeviceState parent_obj;
+
+ /*< public >*/
size_t bytes_xfer;
size_t xfer_limit;
QemuThread thread;
@@ -114,6 +133,20 @@ struct MigrationState
/* Do we have to clean up -b/-i from old migrate parameters */
/* This feature is deprecated and will be removed */
bool must_remove_block_options;
+
+ /*
+ * Global switch on whether we need to store the global state
+ * during migration.
+ */
+ bool store_global_state;
+
+ /* Whether the VM is only allowing for migratable devices */
+ bool only_migratable;
+
+ /* Whether we send QEMU_VM_CONFIGURATION during migration */
+ bool send_configuration;
+ /* Whether we send section footer during migration */
+ bool send_section_footer;
};
void migrate_set_state(int *state, int old_state, int new_state);
@@ -144,6 +177,7 @@ bool migrate_colo_enabled(void);
bool migrate_use_block(void);
bool migrate_use_block_incremental(void);
+bool migrate_use_return_path(void);
bool migrate_use_compression(void);
int migrate_compress_level(void);