summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2020-10-21 10:19:08 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2020-12-10 12:15:12 -0500
commit90285ec8bb1c47d4ef8349a765ba7c9a672212c8 (patch)
tree0a1f3d41993caa00e97b0bff749bc742c0e125a4
parent58c91595a793b9f54b58a449121a2cf4b9f86cf0 (diff)
downloadfocaccia-qemu-90285ec8bb1c47d4ef8349a765ba7c9a672212c8.tar.gz
focaccia-qemu-90285ec8bb1c47d4ef8349a765ba7c9a672212c8.zip
vl: preconfig and loadvm are mutually exclusive
Just like -incoming.  Later we will add support for "-incoming defer
-preconfig", because there are cases (Xen, block layer) that want
to look at RUNSTATE_INMIGRATE.  -loadvm will remain mutually exclusive
with preconfig; the plan is to just do loadvm in the monitor, since
the user is already going to interact with it for preconfiguration.

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--softmmu/vl.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/softmmu/vl.c b/softmmu/vl.c
index 71b5263d05..98994e10fa 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -124,6 +124,7 @@ static const char *mem_path;
 static const char *boot_order;
 static const char *boot_once;
 static const char *incoming;
+static const char *loadvm;
 enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
 int display_opengl;
 const char* keyboard_layout = NULL;
@@ -2894,6 +2895,11 @@ static void qemu_validate_options(void)
           }
     }
 
+    if (loadvm && !preconfig_exit_requested) {
+        error_report("'preconfig' and 'loadvm' options are "
+                     "mutually exclusive");
+        exit(EXIT_FAILURE);
+    }
     if (incoming && !preconfig_exit_requested) {
         error_report("'preconfig' and 'incoming' options are "
                      "mutually exclusive");
@@ -3176,7 +3182,6 @@ void qemu_init(int argc, char **argv, char **envp)
     QemuOptsList *olist;
     int optind;
     const char *optarg;
-    const char *loadvm = NULL;
     MachineClass *machine_class;
     const char *vga_model = NULL;
     bool userconfig = true;