qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/1] vl: make -accel help to list enabled accele


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 1/1] vl: make -accel help to list enabled accelerators only
Date: Fri, 31 May 2019 11:38:38 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1

On 30/05/19 23:57, Wainer dos Santos Moschetta wrote:
> Currently, -accel help shows all possible accelerators regardless
> if they are enabled in the binary or not. That is a different
> semantic from -cpu and -machine helps, for example. So this change
> makes it to list only the accelerators which support is compiled
> in the binary target.
> 
> Note that it does not check if the accelerator is enabled in the
> host, so the help message's header was rewritten to emphasize
> that. Also qtest is not displayed given that it is used for
> internal testing purpose only.
> 
> Signed-off-by: Wainer dos Santos Moschetta <address@hidden>
> ---
>  vl.c | 18 +++++++++++++++++-
>  1 file changed, 17 insertions(+), 1 deletion(-)
> 
> diff --git a/vl.c b/vl.c
> index 2e69c9fef2..e5d40c01f8 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -3575,7 +3575,23 @@ int main(int argc, char **argv, char **envp)
>                                                       optarg, true);
>                  optarg = qemu_opt_get(accel_opts, "accel");
>                  if (!optarg || is_help_option(optarg)) {
> -                    printf("Possible accelerators: kvm, xen, hax, tcg\n");
> +                    printf("Accelerators supported in QEMU binary:\n");
> +                    GSList *el, *accel_list = 
> object_class_get_list(TYPE_ACCEL,
> +                                                                    false);
> +                    for (el = accel_list; el; el = el->next) {
> +                        gchar *typename = g_strdup(object_class_get_name(
> +                                                   OBJECT_CLASS(el->data)));
> +                        /* omit qtest which is used for tests only */
> +                        if (g_strcmp0(typename, ACCEL_CLASS_NAME("qtest")) &&
> +                            g_str_has_suffix(typename, ACCEL_CLASS_SUFFIX)) {
> +                            gchar **optname = g_strsplit(typename,
> +                                                         ACCEL_CLASS_SUFFIX, 
> 0);
> +                            printf("%s\n", optname[0]);
> +                            g_free(optname);
> +                        }
> +                        g_free(typename);
> +                    }
> +                    g_slist_free(accel_list);
>                      exit(0);
>                  }
>                  opts = qemu_opts_create(qemu_find_opts("machine"), NULL,
> 

Queued, thanks!

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]