[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH] vl.c: add -semihosting-config "arg" sub-arg
From: |
Christopher Covington |
Subject: |
Re: [Qemu-devel] [RFC PATCH] vl.c: add -semihosting-config "arg" sub-argument |
Date: |
Wed, 01 Apr 2015 11:45:28 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Thunderbird/36.0 |
Hi Leon,
On 04/01/2015 09:18 AM, Leon Alrae wrote:
> Signed-off-by: Leon Alrae <address@hidden>
> ---
> Hi,
>
> Continuing the discussion related to extending QEMU's command line with new
> argument allowing to pass semi-hosting input arguments to the guest program:
> https://lists.gnu.org/archive/html/qemu-devel/2015-03/msg05960.html
>
> This simple patch adds "arg" sub-argument which in my opinion is flexible
> enough to satisfy semi-hosting interfaces which allocate buffers at runtime
> (so it is possible to pass any number of strings of any length) as well as the
> ones which have limited buffer for a single input string.
>
> Highlights:
>
> * arg can appear multiple times in -semihosting-config group of sub-arguments
> and is used to create argc/argv.
>
> * Single string cmdline can be still easily created:
> static void concat_semihosting_args(char *buffer, int buffer_size,
> const char *separator)
> {
> int i;
> buffer[0] = '\0';
> for (i = 0; i < semihosting_argc - 1; i++) {
> pstrcat(buffer, buffer_size, semihosting_argv[i]);
> pstrcat(buffer, buffer_size, separator);
> }
> pstrcat(buffer, buffer_size, semihosting_argv[i]);
> }
>
> * argv[0] is set by the first occurence of "arg" rather than taking the same
> string from "-kernel". This might be required in cases where the path is too
> long and semi-hosting app's buffer for the cmdline is fixed and small.
>
> * No altering the parser itself, just traversing the -semihosting-config opts
> and picking all arg strings.
>
> * This patch doesn't fix the need of using double-commas if user want to have
> a comma in the string.
>
> If we agree on this new option then I would like to follow up with a clean up
> where we've got a semi-hosting specific structure rather than keep generating
> more semihosting_* variables (I skipped it in this patch to avoid generating
> clean up related noise in the diff).
I think the commit message and help text should include some information on
how this is different from -append and what the result is of specifying both
-append foo=a and -semihosting-config arg=foo=b.
Thanks,
Chris
--
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
- Re: [Qemu-devel] [RFC PATCH] vl.c: add -semihosting-config "arg" sub-argument, (continued)
- Re: [Qemu-devel] [RFC PATCH] vl.c: add -semihosting-config "arg" sub-argument, Eric Blake, 2015/04/21
- Re: [Qemu-devel] [RFC PATCH] vl.c: add -semihosting-config "arg" sub-argument, Peter Maydell, 2015/04/21
- Re: [Qemu-devel] [RFC PATCH] vl.c: add -semihosting-config "arg" sub-argument, Eric Blake, 2015/04/21
- Re: [Qemu-devel] [RFC PATCH] vl.c: add -semihosting-config "arg" sub-argument, Liviu Ionescu, 2015/04/21
- Re: [Qemu-devel] [RFC PATCH] vl.c: add -semihosting-config "arg" sub-argument, Liviu Ionescu, 2015/04/21
- Re: [Qemu-devel] [RFC PATCH] vl.c: add -semihosting-config "arg" sub-argument, Leon Alrae, 2015/04/23
- Re: [Qemu-devel] [RFC PATCH] vl.c: add -semihosting-config "arg" sub-argument, Liviu Ionescu, 2015/04/23
Re: [Qemu-devel] [RFC PATCH] vl.c: add -semihosting-config "arg" sub-argument,
Christopher Covington <=
Re: [Qemu-devel] [RFC PATCH] vl.c: add -semihosting-config "arg" sub-argument, Liviu Ionescu, 2015/04/04