From 2ce3bf1aa97abb20af3a90131745c9b68e04bedd Mon Sep 17 00:00:00 2001 From: Juan Quintela Date: Mon, 24 Apr 2017 18:24:28 +0200 Subject: migration: ram_control_* are implemented in qemu_file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Juan Quintela Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Laurent Vivier --- migration/qemu-file.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'migration') diff --git a/migration/qemu-file.h b/migration/qemu-file.h index 49fd697..aae4e5e 100644 --- a/migration/qemu-file.h +++ b/migration/qemu-file.h @@ -156,5 +156,22 @@ void qemu_file_set_blocking(QEMUFile *f, bool block); size_t qemu_get_counted_string(QEMUFile *f, char buf[256]); +void ram_control_before_iterate(QEMUFile *f, uint64_t flags); +void ram_control_after_iterate(QEMUFile *f, uint64_t flags); +void ram_control_load_hook(QEMUFile *f, uint64_t flags, void *data); + +/* Whenever this is found in the data stream, the flags + * will be passed to ram_control_load_hook in the incoming-migration + * side. This lets before_ram_iterate/after_ram_iterate add + * transport-specific sections to the RAM migration data. + */ +#define RAM_SAVE_FLAG_HOOK 0x80 + +#define RAM_SAVE_CONTROL_NOT_SUPP -1000 +#define RAM_SAVE_CONTROL_DELAYED -2000 + +size_t ram_control_save_page(QEMUFile *f, ram_addr_t block_offset, + ram_addr_t offset, size_t size, + uint64_t *bytes_sent); #endif -- cgit v1.1