This patch series adds support to the boot-wrapper for using the semihosting ABI provided by the Fast Model to load the kernel and initrd. This allows you to use a single unchanging AXF file and simply start the model with different arguments to test different kernels or pass a different command line to the kernel. Instead of passing the model linux-system.axf, you pass it linux-system-semi.axf and also the extra arguments: -C cluster.cpu0.semihosting-cmd_line="--kernel /path/to/uImage --initrd /path/to/initrd -- console=ttyAMA0 mem=512M ..." The boot wrapper will interpret the --kernel and --initrd argument as taking an option which is a (host system) path, and pass the tail of the string following '--' to the kernel as its command line. The first patch in the series fixes a mismatch between what the preprocessor and the assembler think they're doing when building the boot-wrapper with compilers like the Ubuntu/Linaro one which default to Thumb mode rather than ARM mode. Without this fix the semihosting feature won't work because we'll emit the wrong kind of SVC. Note that you'll probably need to update your config.mk if you've got a customised one! Peter Maydell (2): config-default.mk: Explicitly pass -marm when we want to build ARM mode boot-wrapper: Support reading kernel/initrd via semihosting Makefile | 12 ++- boot.S | 355 +++++++++++++++++++++++++++++++++++++++++++++++++++++ config-default.mk | 4 +- model.lds.S | 12 ++- 4 files changed, 378 insertions(+), 5 deletions(-) -- 1.7.5.4