@@ -118,6 +118,7 @@ bool migration_in_bg_snapshot(void);
void dirty_bitmap_mig_init(void);
/* migration/multifd.c */
+bool migration_has_device_state_support(void);
int multifd_queue_device_state(char *idstr, uint32_t instance_id,
char *data, size_t len);
@@ -819,6 +819,12 @@ bool multifd_queue_page(RAMBlock *block, ram_addr_t offset)
return multifd_queue_page_locked(block, offset);
}
+bool migration_has_device_state_support(void)
+{
+ return migrate_multifd() && migrate_channel_header() &&
+ migrate_multifd_compression() == MULTIFD_COMPRESSION_NONE;
+}
+
int multifd_queue_device_state(char *idstr, uint32_t instance_id,
char *data, size_t len)
{