Versatile PB segfaults on start

Bug #731093 reported by Michael Hope on 2011-03-08
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro QEMU
Fix Released

Bug Description

Starting qemu-linaro 2011.03 with -M versatilepb causes qemu to die with a segfault:

michaelh@crucis:~/linaro/qemu/qemu-linaro$ ./arm-softmmu/qemu-system-arm -M versatilepb -kernel ../vexpress/pkgs/boot/vmlinuz-2.6.38-1000-linaro-vexpress -sd ../vexpress.img -append "root=b302 console=ttyAMA0" -vnc :1
Segmentation fault

(Note the mismatch between kernel and model here - it happens with real versatile kernels as well).

The segfault occurs at hw/versatilepb.c:256 when calling:
    sysbus_create_varargs("pl181", 0x1000b000, sic[23], sic[2], NULL);

and seems to be because you can't have two pl181 instances.

I haven't verified this upstream.

Loïc Minier (lool) wrote :

-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.

Peter Maydell (pmaydell) wrote :

Yes, but it happens regardless of what actual kernel you hand it, and even if you don't hand it an -sd image; that is, versatilepb is completely broken. Oops.

Peter Maydell (pmaydell) wrote :

Bah. I want to target this to 2011.03-1 milestone but launchpad won't let me because it's already been released.

Changed in qemu-linaro:
status: New → Fix Released
milestone: none → 2011.03-1
Loïc Minier (lool) wrote :

You seem to have succeeded in targetting this to 2011.03-1?

Michael Hope (michaelh1) wrote :

Sorry, my description was poor. I meant to say that running qemu with -M versatilepb <anything> segfaults. It happened that my commandline history had a vexpress kernel in it.

Peter Maydell (pmaydell) wrote :

This bug was fixed in upstream qemu by Aurelien on Sunday:

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers