qemu-e2k/linux-user
Kwok Cheung Yeung 1239b472bb linux-user: Save the correct resume address for MIPS signal handling
The current ISA mode needs to be saved in bit 0 of the resume address.
If the current instruction happens to be in a branch delay slot, then
the address of the preceding jump instruction should be stored instead.
exception_resume_pc already does both of these tasks, so it is
made available and reused.

MIPS_HFLAG_BMASK in hflags is cleared, otherwise QEMU may treat the
first instruction of the signal handler as a delay slot instruction.

Signed-off-by: Kwok Cheung Yeung <kcy@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2013-05-20 18:16:17 +02:00
..
alpha
arm fpu: move public header file to include/fpu 2012-12-19 08:32:46 +01:00
cris janitor: add guards to headers 2012-12-19 08:31:31 +01:00
i386
m68k
microblaze janitor: add guards to headers 2012-12-19 08:31:31 +01:00
mips
mips64 mipsn32-linux-user: Configure the architecture properly 2013-03-05 15:04:20 +01:00
openrisc
ppc
s390x target-s390: Reorg exception handling 2013-01-05 12:00:28 -08:00
sh4
sparc linux-user: Add more sparc syscall numbers 2013-03-11 13:05:14 +02:00
sparc64
unicore32
x86_64
cpu-uname.c
cpu-uname.h
elfload.c target-i386: Replace cpuid_*features fields with a feature word array 2013-05-02 00:27:55 +02:00
errno_defs.h
flat.h
flatload.c
ioctls.h
linux_loop.h
linuxload.c
m68k-sim.c
main.c target-i386: Replace cpuid_*features fields with a feature word array 2013-05-02 00:27:55 +02:00
Makefile.objs
mmap.c
qemu.h linux-user: Restore cast to target type in get_user() 2013-02-06 16:37:39 -06:00
signal.c linux-user: Save the correct resume address for MIPS signal handling 2013-05-20 18:16:17 +02:00
socket.h linux-user: Add Alpha socket constants 2013-03-11 13:04:44 +02:00
strace.c linux-user: Don't omit comma for strace of rt_sigaction() 2013-04-05 14:40:54 +02:00
strace.list
syscall_defs.h alpha-linux-user: Translate fcntl l_type 2013-01-16 08:13:17 -08:00
syscall_types.h
syscall.c linux-user: fix compile error due to stray colon at end of #ifdef line 2013-04-26 11:52:29 +02:00
target_flat.h
uaccess.c
vm86.c