On 21 May 2015 at 15:28, Liviu Ionescu <i...@livius.net> 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 > I understand that different platforms have different specifics, > but I have difficulties to understand why they cannot be implemented > consistently from the user point of view, not the qemu developer point > of view. I am definitely strongly in favour of making this as consistent for the user as we can manage. > 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. > 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. -- PMM