handle device help before accelerator set up

Submitted by Bruce Rogers on Aug. 9, 2012, 1:23 p.m.

Details

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

Commit Message

Bruce Rogers Aug. 9, 2012, 1:23 p.m.
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 |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

Comments

Blue Swirl Aug. 9, 2012, 5:52 p.m.
On Thu, Aug 9, 2012 at 1:23 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 |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/vl.c b/vl.c
> index e71cb30..205b924 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -3345,6 +3345,9 @@ 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);

Missing braces, please read CODING_STYLE.

> +
>      configure_accelerator();
>
>      qemu_init_cpu_loop();
> @@ -3500,9 +3503,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
>
>

Patch hide | download patch | download mbox

diff --git a/vl.c b/vl.c
index e71cb30..205b924 100644
--- a/vl.c
+++ b/vl.c
@@ -3345,6 +3345,9 @@  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 +3503,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)