Commit 0d6ab3ab authored by Dr. David Alan Gilbert's avatar Dr. David Alan Gilbert Committed by Juan Quintela

Provide init function for ram migration

Provide ram_mig_init (like blk_mig_init) for vl.c to initialise stuff
to do with ram migration (currently in arch_init.c).
Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: default avatarGonglei <arei.gonglei@huawei.com>
Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
parent e30d1d8c
...@@ -1108,7 +1108,7 @@ done: ...@@ -1108,7 +1108,7 @@ done:
return ret; return ret;
} }
SaveVMHandlers savevm_ram_handlers = { static SaveVMHandlers savevm_ram_handlers = {
.save_live_setup = ram_save_setup, .save_live_setup = ram_save_setup,
.save_live_iterate = ram_save_iterate, .save_live_iterate = ram_save_iterate,
.save_live_complete = ram_save_complete, .save_live_complete = ram_save_complete,
...@@ -1117,6 +1117,11 @@ SaveVMHandlers savevm_ram_handlers = { ...@@ -1117,6 +1117,11 @@ SaveVMHandlers savevm_ram_handlers = {
.cancel = ram_migration_cancel, .cancel = ram_migration_cancel,
}; };
void ram_mig_init(void)
{
register_savevm_live(NULL, "ram", 0, 4, &savevm_ram_handlers, NULL);
}
struct soundhw { struct soundhw {
const char *name; const char *name;
const char *descr; const char *descr;
......
...@@ -113,8 +113,6 @@ void free_xbzrle_decoded_buf(void); ...@@ -113,8 +113,6 @@ void free_xbzrle_decoded_buf(void);
void acct_update_position(QEMUFile *f, size_t size, bool zero); void acct_update_position(QEMUFile *f, size_t size, bool zero);
extern SaveVMHandlers savevm_ram_handlers;
uint64_t dup_mig_bytes_transferred(void); uint64_t dup_mig_bytes_transferred(void);
uint64_t dup_mig_pages_transferred(void); uint64_t dup_mig_pages_transferred(void);
uint64_t skipped_mig_bytes_transferred(void); uint64_t skipped_mig_bytes_transferred(void);
......
...@@ -29,6 +29,7 @@ extern const uint32_t arch_type; ...@@ -29,6 +29,7 @@ extern const uint32_t arch_type;
void select_soundhw(const char *optarg); void select_soundhw(const char *optarg);
void do_acpitable_option(const QemuOpts *opts); void do_acpitable_option(const QemuOpts *opts);
void do_smbios_option(QemuOpts *opts); void do_smbios_option(QemuOpts *opts);
void ram_mig_init(void);
void cpudef_init(void); void cpudef_init(void);
void audio_init(void); void audio_init(void);
int tcg_available(void); int tcg_available(void);
......
...@@ -4306,6 +4306,7 @@ int main(int argc, char **argv, char **envp) ...@@ -4306,6 +4306,7 @@ int main(int argc, char **argv, char **envp)
cpu_exec_init_all(); cpu_exec_init_all();
blk_mig_init(); blk_mig_init();
ram_mig_init();
/* open the virtual block devices */ /* open the virtual block devices */
if (snapshot) if (snapshot)
...@@ -4320,8 +4321,6 @@ int main(int argc, char **argv, char **envp) ...@@ -4320,8 +4321,6 @@ int main(int argc, char **argv, char **envp)
default_drive(default_floppy, snapshot, IF_FLOPPY, 0, FD_OPTS); default_drive(default_floppy, snapshot, IF_FLOPPY, 0, FD_OPTS);
default_drive(default_sdcard, snapshot, IF_SD, 0, SD_OPTS); default_drive(default_sdcard, snapshot, IF_SD, 0, SD_OPTS);
register_savevm_live(NULL, "ram", 0, 4, &savevm_ram_handlers, NULL);
if (nb_numa_nodes > 0) { if (nb_numa_nodes > 0) {
int i; int i;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment