diff mbox

[v2,1/2] Provide init function for ram migration

Message ID 1395253951-14524-2-git-send-email-dgilbert@redhat.com
State New
Headers show

Commit Message

Dr. David Alan Gilbert March 19, 2014, 6:32 p.m. UTC
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

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: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
 arch_init.c                   | 7 ++++++-
 include/migration/migration.h | 2 --
 include/sysemu/arch_init.h    | 1 +
 vl.c                          | 3 +--
 4 files changed, 8 insertions(+), 5 deletions(-)

Comments

Gonglei (Arei) March 20, 2014, 12:42 p.m. UTC | #1
> Subject: [PATCH v2 1/2] Provide init function for ram migration
> 
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> 
> 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: Dr. David Alan Gilbert <dgilbert@redhat.com>
> ---
>  arch_init.c                   | 7 ++++++-
>  include/migration/migration.h | 2 --
>  include/sysemu/arch_init.h    | 1 +
>  vl.c                          | 3 +--
>  4 files changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/arch_init.c b/arch_init.c
> index 60c975d..0d2bf84 100644
> --- a/arch_init.c
> +++ b/arch_init.c
> @@ -1095,7 +1095,7 @@ done:
>      return ret;
>  }
> 
> -SaveVMHandlers savevm_ram_handlers = {
> +static SaveVMHandlers savevm_ram_handlers = {
>      .save_live_setup = ram_save_setup,
>      .save_live_iterate = ram_save_iterate,
>      .save_live_complete = ram_save_complete,
> @@ -1104,6 +1104,11 @@ SaveVMHandlers savevm_ram_handlers = {
>      .cancel = ram_migration_cancel,
>  };
> 
> +void ram_mig_init(void)
> +{
> +    register_savevm_live(NULL, "ram", 0, 4, &savevm_ram_handlers,
> NULL);
> +}
> +
>  struct soundhw {
>      const char *name;
>      const char *descr;
> diff --git a/include/migration/migration.h b/include/migration/migration.h
> index 3e1e6c7..31fbf17 100644
> --- a/include/migration/migration.h
> +++ b/include/migration/migration.h
> @@ -113,8 +113,6 @@ void free_xbzrle_decoded_buf(void);
> 
>  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_pages_transferred(void);
>  uint64_t skipped_mig_bytes_transferred(void);
> diff --git a/include/sysemu/arch_init.h b/include/sysemu/arch_init.h
> index be71bca..182d48d 100644
> --- a/include/sysemu/arch_init.h
> +++ b/include/sysemu/arch_init.h
> @@ -29,6 +29,7 @@ extern const uint32_t arch_type;
>  void select_soundhw(const char *optarg);
>  void do_acpitable_option(const QemuOpts *opts);
>  void do_smbios_option(QemuOpts *opts);
> +void ram_mig_init(void);
>  void cpudef_init(void);
>  void audio_init(void);
>  int tcg_available(void);
> diff --git a/vl.c b/vl.c
> index f0fe48b..3358c98 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -4274,6 +4274,7 @@ int main(int argc, char **argv, char **envp)
>      cpu_exec_init_all();
> 
>      blk_mig_init();
> +    ram_mig_init();
> 
>      /* open the virtual block devices */
>      if (snapshot)
> @@ -4288,8 +4289,6 @@ int main(int argc, char **argv, char **envp)
>      default_drive(default_floppy, snapshot, IF_FLOPPY, 0, FD_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) {
>          int i;
> 
> --
> 1.8.5.3

Reviewed-by: Gonglei <arei.gonglei@huawei.com>

Best regards,
-Gonglei
diff mbox

Patch

diff --git a/arch_init.c b/arch_init.c
index 60c975d..0d2bf84 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -1095,7 +1095,7 @@  done:
     return ret;
 }
 
-SaveVMHandlers savevm_ram_handlers = {
+static SaveVMHandlers savevm_ram_handlers = {
     .save_live_setup = ram_save_setup,
     .save_live_iterate = ram_save_iterate,
     .save_live_complete = ram_save_complete,
@@ -1104,6 +1104,11 @@  SaveVMHandlers savevm_ram_handlers = {
     .cancel = ram_migration_cancel,
 };
 
+void ram_mig_init(void)
+{
+    register_savevm_live(NULL, "ram", 0, 4, &savevm_ram_handlers, NULL);
+}
+
 struct soundhw {
     const char *name;
     const char *descr;
diff --git a/include/migration/migration.h b/include/migration/migration.h
index 3e1e6c7..31fbf17 100644
--- a/include/migration/migration.h
+++ b/include/migration/migration.h
@@ -113,8 +113,6 @@  void free_xbzrle_decoded_buf(void);
 
 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_pages_transferred(void);
 uint64_t skipped_mig_bytes_transferred(void);
diff --git a/include/sysemu/arch_init.h b/include/sysemu/arch_init.h
index be71bca..182d48d 100644
--- a/include/sysemu/arch_init.h
+++ b/include/sysemu/arch_init.h
@@ -29,6 +29,7 @@  extern const uint32_t arch_type;
 void select_soundhw(const char *optarg);
 void do_acpitable_option(const QemuOpts *opts);
 void do_smbios_option(QemuOpts *opts);
+void ram_mig_init(void);
 void cpudef_init(void);
 void audio_init(void);
 int tcg_available(void);
diff --git a/vl.c b/vl.c
index f0fe48b..3358c98 100644
--- a/vl.c
+++ b/vl.c
@@ -4274,6 +4274,7 @@  int main(int argc, char **argv, char **envp)
     cpu_exec_init_all();
 
     blk_mig_init();
+    ram_mig_init();
 
     /* open the virtual block devices */
     if (snapshot)
@@ -4288,8 +4289,6 @@  int main(int argc, char **argv, char **envp)
     default_drive(default_floppy, snapshot, IF_FLOPPY, 0, FD_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) {
         int i;