Hi, This patch series adds "arg=" sub-option to --semihosting-config group. It allows building up a list of input arguments as it can appear multiple times in the command line. This is a flexible solution for creating argc/argv for the guest program (needed by UHI semihosting for example). RFC patch and related discussion was here: https://lists.gnu.org/archive/html/qemu-devel/2015-04/msg00115.html
It also contains some generic code clean up -- all semihosting related things were moved to vl.c (where they are actually set) and grouped in the SemihostingConfig structure. They can be accessed via include/exec/semihost.h introduced in this patch series. Since this touches generic semihosting code I'm sending it as a separate patchset from MIPS-specific UHI semihosting patches. Regards, Leon v4: * add semihosting_get_cmdline() and update arm-semi.c to support new option * for backward compatibility use -kernel/-append to initialize semihosting.argv * update qemu doc to describe the interaction between arg and -kernel/-append v3: * improved documentation (rephrased and used @table so that generated doc looks nicer) v2: * squash clean-up related patches so renaming is not required (these modifications are relatively simple anyway). Leon Alrae (2): semihosting: create SemihostingConfig structure and semihost.h semihosting: add --semihosting-config arg sub-argument gdbstub.c | 8 ++-- include/exec/gdbstub.h | 6 --- include/exec/semihost.h | 62 ++++++++++++++++++++++++++++ include/sysemu/sysemu.h | 1 - qemu-options.hx | 21 +++++++--- target-arm/arm-semi.c | 10 ++--- target-arm/helper.c | 7 ++-- target-lm32/helper.c | 3 +- target-m68k/op_helper.c | 5 +-- target-xtensa/translate.c | 3 +- vl.c | 102 ++++++++++++++++++++++++++++++++++++++++++---- 11 files changed, 188 insertions(+), 40 deletions(-) create mode 100644 include/exec/semihost.h