From: "Richard W.M. Jones" <rjones@redhat.com>
To: pbonzini@redhat.com
Cc: peter.maydell@linaro.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v3] vl.c: Add '-L help' which lists data dirs.
Date: Tue, 24 May 2016 14:07:37 +0100 [thread overview]
Message-ID: <20160524130737.GG28935@redhat.com> (raw)
In-Reply-To: <1463416475-11728-2-git-send-email-rjones@redhat.com>
Any further objections to this one? It's a pretty useful
patch for us.
On Mon, May 16, 2016 at 05:34:35PM +0100, Richard W.M. Jones wrote:
> QEMU compiles a list of data directories from various sources. When
> consuming a QEMU binary it's useful to be able to get this list of
> data directories: a primary reason is so you can list what BIOSes or
> keymaps ship with this version of QEMU. However without reproducing
> the method that QEMU uses internally, it's not possible to get the
> list of data directories.
>
> This commit adds a simple '-L help' option that just lists out the
> data directories as qemu calculates them:
>
> $ ./x86_64-softmmu/qemu-system-x86_64 -L help
> /home/rjones/d/qemu/pc-bios
> /usr/local/share/qemu
>
> $ ./x86_64-softmmu/qemu-system-x86_64 -L /tmp -L help
> /tmp
> /home/rjones/d/qemu/pc-bios
> /usr/local/share/qemu
>
> Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>
> ---
> qemu-options.hx | 2 ++
> vl.c | 13 ++++++++++++-
> 2 files changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/qemu-options.hx b/qemu-options.hx
> index 6106520..bec0210 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -3199,6 +3199,8 @@ STEXI
> @item -L @var{path}
> @findex -L
> Set the directory for the BIOS, VGA BIOS and keymaps.
> +
> +To list all the data directories, use @code{-L help}.
> ETEXI
>
> DEF("bios", HAS_ARG, QEMU_OPTION_bios, \
> diff --git a/vl.c b/vl.c
> index 5fd22cb..d25f2f7 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2990,6 +2990,7 @@ int main(int argc, char **argv, char **envp)
> FILE *vmstate_dump_file = NULL;
> Error *main_loop_err = NULL;
> Error *err = NULL;
> + bool list_data_dirs = false;
>
> qemu_init_cpu_loop();
> qemu_mutex_lock_iothread();
> @@ -3371,7 +3372,9 @@ int main(int argc, char **argv, char **envp)
> add_device_config(DEV_GDB, optarg);
> break;
> case QEMU_OPTION_L:
> - if (data_dir_idx < ARRAY_SIZE(data_dir)) {
> + if (is_help_option(optarg)) {
> + list_data_dirs = true;
> + } else if (data_dir_idx < ARRAY_SIZE(data_dir)) {
> data_dir[data_dir_idx++] = optarg;
> }
> break;
> @@ -4128,6 +4131,14 @@ int main(int argc, char **argv, char **envp)
> data_dir[data_dir_idx++] = CONFIG_QEMU_DATADIR;
> }
>
> + /* -L help lists the data directories and exits. */
> + if (list_data_dirs) {
> + for (i = 0; i < data_dir_idx; i++) {
> + printf("%s\n", data_dir[i]);
> + }
> + exit(0);
> + }
> +
> smp_parse(qemu_opts_find(qemu_find_opts("smp-opts"), NULL));
>
> machine_class->max_cpus = machine_class->max_cpus ?: 1; /* Default to UP */
> --
> 2.7.4
>
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v
next prev parent reply other threads:[~2016-05-24 13:07 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-16 16:34 [Qemu-devel] [PATCH v3] vl.c: Add '-L help' which lists data dirs Richard W.M. Jones
2016-05-16 16:34 ` Richard W.M. Jones
2016-05-24 13:07 ` Richard W.M. Jones [this message]
2016-06-13 11:55 ` Paolo Bonzini
2016-06-13 12:54 ` Richard W.M. Jones
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160524130737.GG28935@redhat.com \
--to=rjones@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.