On 18/05/2017 19:25, Juan Quintela wrote: > This removes last trace of migration functions from sysemu/sysemu.h. > > Signed-off-by: Juan Quintela <quint...@redhat.com>
Reviewed-by: Laurent Vivier <lviv...@redhat.com> > --- > include/sysemu/sysemu.h | 47 ----------------------------------------------- > migration/colo.c | 1 + > migration/migration.c | 1 + > migration/postcopy-ram.c | 1 + > migration/savevm.c | 29 +++++++++++++++++++++++++---- > migration/savevm.h | 41 +++++++++++++++++++++++++++++++++++++++++ > 6 files changed, 69 insertions(+), 51 deletions(-) > create mode 100644 migration/savevm.h > > diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h > index ed8fe3b..73baea1 100644 > --- a/include/sysemu/sysemu.h > +++ b/include/sysemu/sysemu.h > @@ -79,53 +79,6 @@ int load_vmstate(const char *name, Error **errp); > > void qemu_announce_self(void); > > -/* Subcommands for QEMU_VM_COMMAND */ > -enum qemu_vm_cmd { > - MIG_CMD_INVALID = 0, /* Must be 0 */ > - MIG_CMD_OPEN_RETURN_PATH, /* Tell the dest to open the Return path */ > - MIG_CMD_PING, /* Request a PONG on the RP */ > - > - MIG_CMD_POSTCOPY_ADVISE, /* Prior to any page transfers, just > - warn we might want to do PC */ > - MIG_CMD_POSTCOPY_LISTEN, /* Start listening for incoming > - pages as it's running. */ > - MIG_CMD_POSTCOPY_RUN, /* Start execution */ > - > - MIG_CMD_POSTCOPY_RAM_DISCARD, /* A list of pages to discard that > - were previously sent during > - precopy but are dirty. */ > - MIG_CMD_PACKAGED, /* Send a wrapped stream within this stream */ > - MIG_CMD_MAX > -}; > - > -#define MAX_VM_CMD_PACKAGED_SIZE (1ul << 24) > - > -bool qemu_savevm_state_blocked(Error **errp); > -void qemu_savevm_state_begin(QEMUFile *f); > -void qemu_savevm_state_header(QEMUFile *f); > -int qemu_savevm_state_iterate(QEMUFile *f, bool postcopy); > -void qemu_savevm_state_cleanup(void); > -void qemu_savevm_state_complete_postcopy(QEMUFile *f); > -void qemu_savevm_state_complete_precopy(QEMUFile *f, bool iterable_only); > -void qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size, > - uint64_t *res_non_postcopiable, > - uint64_t *res_postcopiable); > -void qemu_savevm_command_send(QEMUFile *f, enum qemu_vm_cmd command, > - uint16_t len, uint8_t *data); > -void qemu_savevm_send_ping(QEMUFile *f, uint32_t value); > -void qemu_savevm_send_open_return_path(QEMUFile *f); > -int qemu_savevm_send_packaged(QEMUFile *f, const uint8_t *buf, size_t len); > -void qemu_savevm_send_postcopy_advise(QEMUFile *f); > -void qemu_savevm_send_postcopy_listen(QEMUFile *f); > -void qemu_savevm_send_postcopy_run(QEMUFile *f); > - > -void qemu_savevm_send_postcopy_ram_discard(QEMUFile *f, const char *name, > - uint16_t len, > - uint64_t *start_list, > - uint64_t *length_list); > - > -int qemu_loadvm_state(QEMUFile *f); > - > extern int autostart; > > typedef enum { > diff --git a/migration/colo.c b/migration/colo.c > index 929b31c..8c2ade4 100644 > --- a/migration/colo.c > +++ b/migration/colo.c > @@ -16,6 +16,7 @@ > #include "qemu-file-channel.h" > #include "migration/migration.h" > #include "migration/qemu-file.h" > +#include "savevm.h" > #include "migration/colo.h" > #include "migration/block.h" > #include "io/channel-buffer.h" > diff --git a/migration/migration.c b/migration/migration.c > index ad29e53..7087d1a 100644 > --- a/migration/migration.c > +++ b/migration/migration.c > @@ -19,6 +19,7 @@ > #include "qemu/main-loop.h" > #include "migration/blocker.h" > #include "migration/migration.h" > +#include "savevm.h" > #include "qemu-file-channel.h" > #include "migration/qemu-file.h" > #include "migration/vmstate.h" > diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c > index a37620d..3f9ae1b 100644 > --- a/migration/postcopy-ram.c > +++ b/migration/postcopy-ram.c > @@ -22,6 +22,7 @@ > #include "exec/target_page.h" > #include "migration/migration.h" > #include "migration/qemu-file.h" > +#include "savevm.h" > #include "postcopy-ram.h" > #include "sysemu/sysemu.h" > #include "sysemu/balloon.h" > diff --git a/migration/savevm.c b/migration/savevm.c > index d971e5e..d840731 100644 > --- a/migration/savevm.c > +++ b/migration/savevm.c > @@ -36,6 +36,7 @@ > #include "qemu/timer.h" > #include "migration/migration.h" > #include "qemu-file-channel.h" > +#include "savevm.h" > #include "postcopy-ram.h" > #include "qapi/qmp/qerror.h" > #include "qemu/error-report.h" > @@ -63,6 +64,26 @@ const unsigned int postcopy_ram_discard_version = 0; > > static bool skip_section_footers; > > +/* Subcommands for QEMU_VM_COMMAND */ > +enum qemu_vm_cmd { > + MIG_CMD_INVALID = 0, /* Must be 0 */ > + MIG_CMD_OPEN_RETURN_PATH, /* Tell the dest to open the Return path */ > + MIG_CMD_PING, /* Request a PONG on the RP */ > + > + MIG_CMD_POSTCOPY_ADVISE, /* Prior to any page transfers, just > + warn we might want to do PC */ > + MIG_CMD_POSTCOPY_LISTEN, /* Start listening for incoming > + pages as it's running. */ > + MIG_CMD_POSTCOPY_RUN, /* Start execution */ > + > + MIG_CMD_POSTCOPY_RAM_DISCARD, /* A list of pages to discard that > + were previously sent during > + precopy but are dirty. */ > + MIG_CMD_PACKAGED, /* Send a wrapped stream within this stream */ > + MIG_CMD_MAX > +}; > + > +#define MAX_VM_CMD_PACKAGED_SIZE (1ul << 24) > static struct mig_cmd_args { > ssize_t len; /* -1 = variable */ > const char *name; > @@ -807,10 +828,10 @@ static void save_section_footer(QEMUFile *f, > SaveStateEntry *se) > * @len: Length of associated data > * @data: Data associated with command. > */ > -void qemu_savevm_command_send(QEMUFile *f, > - enum qemu_vm_cmd command, > - uint16_t len, > - uint8_t *data) > +static void qemu_savevm_command_send(QEMUFile *f, > + enum qemu_vm_cmd command, > + uint16_t len, > + uint8_t *data) > { > trace_savevm_command_send(command, len); > qemu_put_byte(f, QEMU_VM_COMMAND); > diff --git a/migration/savevm.h b/migration/savevm.h > new file mode 100644 > index 0000000..eb44877 > --- /dev/null > +++ b/migration/savevm.h > @@ -0,0 +1,41 @@ > +/* > + * QEMU save vm functions > + * > + * Copyright (c) 2003-2008 Fabrice Bellard > + * Copyright (c) 2009-2017 Red Hat Inc > + * > + * Authors: > + * Juan Quintela <quint...@redhat.com> > + * > + * This work is licensed under the terms of the GNU GPL, version 2 or later. > + * See the COPYING file in the top-level directory. > + */ > + > +#ifndef MIGRATION_SAVEVM_H > +#define MIGRATION_SAVEVM_H > + > +bool qemu_savevm_state_blocked(Error **errp); > +void qemu_savevm_state_begin(QEMUFile *f); > +void qemu_savevm_state_header(QEMUFile *f); > +int qemu_savevm_state_iterate(QEMUFile *f, bool postcopy); > +void qemu_savevm_state_cleanup(void); > +void qemu_savevm_state_complete_postcopy(QEMUFile *f); > +void qemu_savevm_state_complete_precopy(QEMUFile *f, bool iterable_only); > +void qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size, > + uint64_t *res_non_postcopiable, > + uint64_t *res_postcopiable); > +void qemu_savevm_send_ping(QEMUFile *f, uint32_t value); > +void qemu_savevm_send_open_return_path(QEMUFile *f); > +int qemu_savevm_send_packaged(QEMUFile *f, const uint8_t *buf, size_t len); > +void qemu_savevm_send_postcopy_advise(QEMUFile *f); > +void qemu_savevm_send_postcopy_listen(QEMUFile *f); > +void qemu_savevm_send_postcopy_run(QEMUFile *f); > + > +void qemu_savevm_send_postcopy_ram_discard(QEMUFile *f, const char *name, > + uint16_t len, > + uint64_t *start_list, > + uint64_t *length_list); > + > +int qemu_loadvm_state(QEMUFile *f); > + > +#endif >