[ARMv5] Integrator/CP regression when reading FPSID register There seems to be a regression in QEMU 2.1.0 which demonstrates itself when running the attached HelenOS Integrator/CP (i.e. ARMv5) image. The offending instruction seems to be: vmrs r0, fpsid Upon its execution, HelenOS kernel receives an Undefined instruction exception (which it does not anticipate at that point) and crashes. QEMU 2.0.0 was not affected by this issue. Command line to reproduce with QEMU 2.1.0: $ qemu-system-arm -M integratorcp -kernel image.boot -s -S & $ /usr/local/cross/arm32/bin/arm-linux-gnueabi-gdb ... (gdb) target remote localhost:1234 Remote debugging using localhost:1234 warning: Can not parse XML target description; XML support was disabled at compile time 0x00000000 in ?? () (gdb) symbol-file kernel/kernel.raw Reading symbols from /home/jermar/software/HelenOS.mainline/kernel/kernel.raw...done. (gdb) break ras_check Breakpoint 1 at 0x80a021bc: file arch/arm32/src/ras.c, line 67. (gdb) c Continuing. Breakpoint 1, ras_check (n=1, istate=0x813e7f70) at arch/arm32/src/ras.c:67 67 { (gdb) set radix 16 Input and output radices now set to decimal 16, hex 10, octal 20. (gdb) print istate->pc $1 = 0x80a02458 (gdb) disassemble 0x80a02458 Dump of assembler code for function fpsid_read: 0x80a02454 <+0>: vmrs r0, fpsid <======= UNDEFINED EXCEPTION INSTRUCTION 0x80a02458 <+4>: mov pc, lr End of assembler dump. The Undefined instruction exception is not expected at this point when executing the VMRS r0,fpsid instruction. Here is the respective HelenOS kernel with debug symbols. Hi Jakub, Thanks for the test case. I've just done a git bisect using your test image above and it seems as if the offending commit is this: commit 2c7ffc414d8591018248b5487757e45f7bb6bd3c Author: Peter Maydell