qemu/linux-user
Peter Maydell 964413d9d9 linux-user: ARM: clear the IT bits when invoking a signal handler
When invoking a signal handler for an ARM target, make sure the IT
bits in the CPSR are cleared. (This would otherwise cause incorrect
execution if the IT state was non-zero when an exception occured.
This bug has been masked previously because we weren't getting the
IT state bits at exception entry right anyway.)

Also use the proper cpsr_read()/cpsr_write() interface to update
the CPSR rather than manipulating CPUState fields directly.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2011-01-14 20:39:19 +01:00
..
alpha alpha-linux-user: Implement signals. 2010-02-28 17:54:52 +01:00
arm linux-user: Fix incorrect NaN detection in ARM nwfpe emulation 2011-01-07 17:38:48 +02:00
cris
i386
m68k
microblaze
mips linux-user: fix mips and ppc to use UID16 2010-12-03 15:10:08 +02:00
mips64
mipsn32
ppc linux-user: fix mips and ppc to use UID16 2010-12-03 15:10:08 +02:00
sh4
sparc
sparc64
x86_64
cpu-uname.c
cpu-uname.h
elfload.c linux-user: Protect against allocation failure in load_symbols. 2010-07-29 20:54:35 +04:00
errno_defs.h
flat.h
flatload.c linux-user: improve flatload error checking 2010-09-18 05:53:14 +00:00
ioctls.h linux-user: Add configure check for linux/fiemap.h and IOC_FS_FIEMAP 2011-01-12 00:06:06 +01:00
linux_loop.h
linuxload.c Remove dead code for ARM semihosting commandline handling 2011-01-07 18:20:57 +02:00
m68k-sim.c linux-user: Fix typo m86k -> m68k 2010-10-05 13:53:56 -05:00
main.c ARM: fix ldrexd/strexd 2010-12-07 15:37:34 +00:00
mmap.c linux-user: mmap_reserve() not controlled by RESERVED_VA 2010-12-03 15:09:38 +02:00
qemu-types.h
qemu.h Remove dead code for ARM semihosting commandline handling 2011-01-07 18:20:57 +02:00
signal.c linux-user: ARM: clear the IT bits when invoking a signal handler 2011-01-14 20:39:19 +01:00
socket.h
strace.c Strace mprotect flags. 2010-06-16 13:03:51 +01:00
strace.list linux-user: Implement sync_file_range{,2} syscalls 2011-01-07 17:13:22 +02:00
syscall.c linux-user: Add configure check for linux/fiemap.h and IOC_FS_FIEMAP 2011-01-12 00:06:06 +01:00
syscall_defs.h linux-user: Implement FS_IOC_FIEMAP ioctl 2011-01-07 17:20:58 +02:00
syscall_types.h linux-user: Implement FS_IOC_FIEMAP ioctl 2011-01-07 17:20:58 +02:00
uaccess.c
vm86.c