hi, as promised, I proceeded with the implementation of the GNU ARM Eclipse QEMU plug-in and so I could run more tests with semihosting command line option. the current first plug-in configuration page looks like this: for the above configuration, the string array used to start QEMU (one arg per line) is: /Users/ilg/Work/qemu/build/osx/qemu/gnuarmeclipse-softmmu/qemu-system-gnuarmeclipse -verbose -machine STM32-H103 -gdb tcp::1234 -semihosting-config enable=on,target=native -semihosting-cmdline cm 1 "2 a" '3 b' 4=c 5,d 6 the QEMU console shows: GNU ARM Eclipse QEMU v2.2.92 (qemu-system-gnuarmeclipse). Board: 'STM32-H103' (Olimex Header Board for STM32F103RBT6 (Experimental)). Device: 'STM32F103RB' (cortex-m3, MPU), Flash: 128 KB, RAM: 20 KB. Command line: 'cm 1 "2 a" '3 b' 4=c 5,d 6' (26 bytes). GDB Server listening on: 'tcp::1234'... ... connection accepted from 127.0.0.1. Execute 'mon system_reset'. main(argc=7, argv=["cm", "1", "2 a", "3 b", "4=c", "5,d", "6"]); Hello ARM World! --- attempts to pack the above command line (I agree that it is a bit extreme), as "-semihosting-config enable=on,target=native,cmdline=???" failed, since I could not find a reliable way to quote the string, so that the qemu parser to accept it. I don't claim that this cannot be done, probably someone with a better understanding of the qemu parser will find a way, but it might be not very simple, not to say intuitive. I also thought about passing the above string using the "-semihosting-config arg=???" method, and, with some effort, it might be possible to split the original string into substrings and generate one option, but it requires some effort, definitely more than when using "-semihosting-cmdline", when the string is simply passed as-is. in my java code, as in any programming language, this can be done, but in a simple script this is more difficult. --- as a conclusion, my final vote goes to a separate "-semihosting-cmdline ???" option. for ARM, the string can be passed directly to SYS_GET_CMDLINE; for UHI hosts, the string can be parsed and substrings provided in an iterative way. the only 'cons' is that this is a top-level command, and Peter suggested to limit their number, but, in my opinion, a certain degree of flexibility is always required, and in this case the gain of not having a top-level command is not worth the complexity introduced by the alternatives. my code is available from https://sourceforge.net/p/gnuarmeclipse/qemu/ci/gnuarmeclipse-dev/tree/ (mind the gnuarmeclipse-dev branch). until we find a better idea, I'll probably stick with this solution. Peter? regards, Liviu