I sent these patches earlier, but only realized when I put them in the target-arm pull request that they broke the user-mode emulators.
Only change in these 3 patches from v1 is that patch 1 now checks that what it gets from qdev_get_machine() is really an instance of TYPE_MACHINE before using it (which only happens for the user-mode emulators, where we don't need to set ignore_memory_transaction_failures). thanks -- PMM Peter Maydell (3): boards.h: Define new flag ignore_memory_transaction_failures hw/arm: Set ignore_memory_transaction_failures for most ARM boards target/arm: Implement new do_transaction_failed hook include/hw/boards.h | 11 +++++++++++ include/qom/cpu.h | 7 ++++++- target/arm/internals.h | 10 ++++++++++ hw/arm/aspeed.c | 3 +++ hw/arm/collie.c | 1 + hw/arm/cubieboard.c | 1 + hw/arm/digic_boards.c | 1 + hw/arm/exynos4_boards.c | 2 ++ hw/arm/gumstix.c | 2 ++ hw/arm/highbank.c | 2 ++ hw/arm/imx25_pdk.c | 1 + hw/arm/integratorcp.c | 1 + hw/arm/kzm.c | 1 + hw/arm/mainstone.c | 1 + hw/arm/musicpal.c | 1 + hw/arm/netduino2.c | 1 + hw/arm/nseries.c | 2 ++ hw/arm/omap_sx1.c | 2 ++ hw/arm/palm.c | 1 + hw/arm/raspi.c | 1 + hw/arm/realview.c | 4 ++++ hw/arm/sabrelite.c | 1 + hw/arm/spitz.c | 4 ++++ hw/arm/stellaris.c | 2 ++ hw/arm/tosa.c | 1 + hw/arm/versatilepb.c | 2 ++ hw/arm/vexpress.c | 1 + hw/arm/xilinx_zynq.c | 1 + hw/arm/xlnx-ep108.c | 2 ++ hw/arm/z2.c | 1 + qom/cpu.c | 16 ++++++++++++++++ target/arm/cpu.c | 1 + target/arm/op_helper.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 33 files changed, 130 insertions(+), 1 deletion(-) -- 2.7.4