I think this is fixed now - it would be useful if the OP could confirm with the current state of master.
** Changed in: qemu Status: In Progress => Fix Committed -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1918302 Title: qemu-system-arm segfaults while servicing SYS_HEAPINFO Status in QEMU: Fix Committed Bug description: I compiled QEMU version 5.2.0 from source on Ubuntu 18.04, and tried to use it to run the attached bare-metal Arm hello-world image, using the command line qemu-system-arm -M microbit -semihosting -nographic -device loader,file=hello.hex The result was that qemu-system-arm itself died of a segfault. Compiling it for debugging, the location of the segfault was in target/arm/arm-semi.c, in the case handler for the semihosting call TARGET_SYS_HEAPINFO, on line 1020 which assigns to 'rambase': const struct arm_boot_info *info = env->boot_info; target_ulong rambase = info->loader_start; and the problem seems to be that 'info', aka env->boot_info, is NULL in this context. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1918302/+subscriptions