diff mbox

[v2] handle device help before accelerator set up

Message ID 1344538060-25948-1-git-send-email-brogers@suse.com
State New
Headers show

Commit Message

Bruce Rogers Aug. 9, 2012, 6:47 p.m. UTC
A command line device probe using just -device "?" gets processed
after qemu-kvm initializes the accelerator. If /dev/kvm is not
present, the accelerator check will fail (kvm is defaulted to on),
which causes libvirt to not be set up to handle qemu guests.

Moving the device help handling before the accelerator set up allows
the device probe to work in this configuration and libvirt succeeds
in setting up for a qemu hypervisor mode.

Signed-off-by: Bruce Rogers <brogers@suse.com>
---
 vl.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

Comments

Blue Swirl Aug. 9, 2012, 8 p.m. UTC | #1
Thanks, applied.

On Thu, Aug 9, 2012 at 6:47 PM, Bruce Rogers <brogers@suse.com> wrote:
> A command line device probe using just -device "?" gets processed
> after qemu-kvm initializes the accelerator. If /dev/kvm is not
> present, the accelerator check will fail (kvm is defaulted to on),
> which causes libvirt to not be set up to handle qemu guests.
>
> Moving the device help handling before the accelerator set up allows
> the device probe to work in this configuration and libvirt succeeds
> in setting up for a qemu hypervisor mode.
>
> Signed-off-by: Bruce Rogers <brogers@suse.com>
> ---
>  vl.c |    8 +++++---
>  1 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/vl.c b/vl.c
> index e71cb30..a4a520f 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -3345,6 +3345,11 @@ int main(int argc, char **argv, char **envp)
>          ram_size = DEFAULT_RAM_SIZE * 1024 * 1024;
>      }
>
> +    if (qemu_opts_foreach(qemu_find_opts("device"), device_help_func, NULL, 0)
> +        != 0) {
> +        exit(0);
> +    }
> +
>      configure_accelerator();
>
>      qemu_init_cpu_loop();
> @@ -3500,9 +3505,6 @@ int main(int argc, char **argv, char **envp)
>      }
>      select_vgahw(vga_model);
>
> -    if (qemu_opts_foreach(qemu_find_opts("device"), device_help_func, NULL, 0) != 0)
> -        exit(0);
> -
>      if (watchdog) {
>          i = select_watchdog(watchdog);
>          if (i > 0)
> --
> 1.7.7
>
>
diff mbox

Patch

diff --git a/vl.c b/vl.c
index e71cb30..a4a520f 100644
--- a/vl.c
+++ b/vl.c
@@ -3345,6 +3345,11 @@  int main(int argc, char **argv, char **envp)
         ram_size = DEFAULT_RAM_SIZE * 1024 * 1024;
     }
 
+    if (qemu_opts_foreach(qemu_find_opts("device"), device_help_func, NULL, 0)
+        != 0) {
+        exit(0);
+    }
+
     configure_accelerator();
 
     qemu_init_cpu_loop();
@@ -3500,9 +3505,6 @@  int main(int argc, char **argv, char **envp)
     }
     select_vgahw(vga_model);
 
-    if (qemu_opts_foreach(qemu_find_opts("device"), device_help_func, NULL, 0) != 0)
-        exit(0);
-
     if (watchdog) {
         i = select_watchdog(watchdog);
         if (i > 0)