[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config ar
From: |
Liviu Ionescu |
Subject: |
Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument |
Date: |
Thu, 21 May 2015 17:57:47 +0300 |
> On 21 May 2015, at 17:33, Peter Maydell <address@hidden> wrote:
>
> On 21 May 2015 at 15:28, Liviu Ionescu <address@hidden> wrote:
>> from what I understood, for MIPS the emulator must be called with a
>> sequence of ,arg=xxx, while for ARM it needs to be called with a single
>> long string including the entire command line.
>
> You can use a sequence of ,arg=xxx on ARM too. It's just that it might
> be easier not to bother, because the guest can't tell the difference
> between:
> (1) the user specified three arguments "foo", "bar" and "baz", which
> QEMU concatenated together with spaces in order to give the guest
> the semihosting commandling string "foo bar baz"
> (2) the user specified a single argument "foo bar baz" with spaces in it
>
>> as such, in my opinion there should be either a single string,
>> split internally by the parser when needed, or an array of
>> substrings, concatenated internally when needed.
>
> I agree that we should not require the target code to do the
> splitting and concatenation. I think we're heading towards
> the array-of-substrings approach.
a few lines before you presented two examples. I guess the users will choose
most of the time the second one, which is not an array of substrings approach.
regarding splitting on the target, for ARM semihosting you cannot avoid it, but
this is implemented anyway in the startup code, not in user code.
>
>> unless these things get clarified, for GNU ARM Eclipse QEMU, I'm inclined to
>> keep my "--semihosting-cmdline arg0 arg1 ... argn" as it is easier to use
>> and understand.
>
> This won't work for MIPS, because there's no way to
> specify different arguments properly.
I'm afraid you are missing something. since I already implemented this, I can
tell you that this was the cleanest method, there was no intermediate parsing
on the way, I just copied the pointers from the tail of the qemu argv[] to an
internal array, and this array was passed unchanged to semihosting, the
emulated process receiving *exactly* what the qemu receives, without any
processing. for ARM, the substrings were concatenated, using quotes or
apostrophes for args containing spaces.
regards,
Liviu
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, (continued)
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Liviu Ionescu, 2015/05/20
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Peter Maydell, 2015/05/20
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Liviu Ionescu, 2015/05/20
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Peter Maydell, 2015/05/20
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Liviu Ionescu, 2015/05/20
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Leon Alrae, 2015/05/21
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Peter Maydell, 2015/05/21
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Leon Alrae, 2015/05/21
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Liviu Ionescu, 2015/05/21
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Peter Maydell, 2015/05/21
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument,
Liviu Ionescu <=
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Peter Maydell, 2015/05/21
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Liviu Ionescu, 2015/05/21
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Peter Maydell, 2015/05/21
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Liviu Ionescu, 2015/05/21
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Peter Maydell, 2015/05/21
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Liviu Ionescu, 2015/05/21
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Peter Maydell, 2015/05/21
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Liviu Ionescu, 2015/05/21
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Maciej W. Rozycki, 2015/05/21
- Re: [Qemu-devel] [PATCH v3 2/2] semihosting: add --semihosting-config arg sub-argument, Liviu Ionescu, 2015/05/21