-M versatilepb selects emulation of very old ARM Versatile PB, supported by linux/arch/arm/mach-versatile; vmlinuz-2.6.38-1000-linaro-vexpress supports linux/arch/arm/mach-vexpress which is RealView Versatile Express, the latest publicly available board from ARM. (Versatile is ARMv5 CPU.)
You want -M vexpress-a9 instead.
Of course you could argue that QEMU should never segfault, but I guess that if this is the equivalent of running an armv7 kernel on armv5 hardware which might have a different memory map altogether, then this could brick the hardware in real life, so it might not be too important to handle this gracefully.
-M versatilepb selects emulation of very old ARM Versatile PB, supported by linux/arch/ arm/mach- versatile; vmlinuz- 2.6.38- 1000-linaro- vexpress supports linux/arch/ arm/mach- vexpress which is RealView Versatile Express, the latest publicly available board from ARM. (Versatile is ARMv5 CPU.)
You want -M vexpress-a9 instead.
Of course you could argue that QEMU should never segfault, but I guess that if this is the equivalent of running an armv7 kernel on armv5 hardware which might have a different memory map altogether, then this could brick the hardware in real life, so it might not be too important to handle this gracefully.