Hi All, This patch series is an attempt to improve the current ARMv7-M support by making it easier to run applications that only require architecture level support from the emulation (basically an ISS). We are mostly there already, but there are some cases that we don't handle well. For example, running an ARMv7-M application that uses SVC with only '-cpu cortex-m3' currently will not work because the NVIC is not initialized (the Cortex-M3 gets wedged into the default Integrator/CP board, hence PATCH 3).
The first patch fixes support for using -kernel with ARMv7-M applications. The second patch fixes the SYS_HEAPINFO semihosting call to work for ARMv7-M applications. The third patch allows for the default machine to be chosen depending on what -cpu is specified. The final patch adds support for a "dummy" ARMv7-M board so that QEMU can be used as an ISS for ARMv7-M applications. Meador Inge (4): hw: Add support for loading ARMv7-M applications via -kernel target-arm: Make SYS_HEAPINFO work for ARMv7-M hw: Deduce the default machine from the specified CPU model hw: Add support for a dummy ARMv7-M board hw/alpha_dp264.c | 2 +- hw/arm/Makefile.objs | 1 + hw/armv7m.c | 13 +++++++++++++ hw/axis_dev88.c | 2 +- hw/boards.h | 4 ++-- hw/dummy_armv7m.c | 40 ++++++++++++++++++++++++++++++++++++++++ hw/integratorcp.c | 2 +- hw/lm32_boards.c | 3 +-- hw/mcf5208.c | 2 +- hw/milkymist.c | 1 - hw/mips_malta.c | 2 +- hw/openrisc_sim.c | 2 +- hw/pc_piix.c | 2 +- hw/pc_sysfw.c | 2 +- hw/petalogix_ml605_mmu.c | 1 - hw/petalogix_s3adsp1800_mmu.c | 2 +- hw/ppc_newworld.c | 2 +- hw/ppc_oldworld.c | 2 +- hw/puv3.c | 2 +- hw/s390-virtio.c | 2 +- hw/shix.c | 2 +- hw/sun4m.c | 2 +- hw/sun4u.c | 2 +- hw/xtensa_sim.c | 2 +- qapi-schema.json | 4 ++-- target-arm/arm-semi.c | 8 +++++++- vl.c | 38 +++++++++++++++++++++++++------------- 27 files changed, 108 insertions(+), 39 deletions(-) create mode 100644 hw/dummy_armv7m.c -- 1.7.7.6