[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