]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
vl: process -object after other backend options
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 25 Aug 2014 11:47:00 +0000 (13:47 +0200)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Wed, 10 Sep 2014 14:30:56 +0000 (09:30 -0500)
QOM backends can refer to chardevs, but not vice versa.  So
process -chardev and -fsdev options before -object

This fixes the rng-egd backend to virtio-rng.

Reported-by: Amos Kong <akong@redhat.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit 7b71758d79106a63a0b8aba02df752d9995ea50c)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
vl.c

diff --git a/vl.c b/vl.c
index fe451aaf151c1ec4d71761890c213ac72cf3df0d..7f8bd39c7069a0a606c7d1b22f598158831723df 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -4009,11 +4009,6 @@ int main(int argc, char **argv, char **envp)
         qemu_set_version(machine_class->hw_version);
     }
 
-    if (qemu_opts_foreach(qemu_find_opts("object"),
-                          object_create, NULL, 0) != 0) {
-        exit(1);
-    }
-
     /* Init CPU def lists, based on config
      * - Must be called after all the qemu_read_config_file() calls
      * - Must be called before list_cpus()
@@ -4225,6 +4220,11 @@ int main(int argc, char **argv, char **envp)
         exit(0);
     }
 
+    if (qemu_opts_foreach(qemu_find_opts("object"),
+                          object_create, NULL, 0) != 0) {
+        exit(1);
+    }
+
     machine_opts = qemu_get_machine_opts();
     if (qemu_opt_foreach(machine_opts, object_set_property, current_machine,
                          1) < 0) {