qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v2 0/2] linux-user: Fix MIPS16/microMIPS signal hand


From: Kwok Cheung Yeung
Subject: [Qemu-devel] [PATCH v2 0/2] linux-user: Fix MIPS16/microMIPS signal handling
Date: Fri, 17 May 2013 14:51:19 -0700

These patches fix various issues related to signal handling in user mode
emulation for the MIPS architecture.

- When a MIPS16/microMIPS signal handler is called, the program segfaults
because the PC is set to an invalid address.
- When returning from a signal handler, the ISA mode is not set to that
of the resume instruction.
- When the faulting instruction is in a branch delay slot, the resume
address is set to that of the instruction rather than the branch,
resulting in incorrect behaviour.  The flag indicating that the
instruction is in a delay slot is also not cleared.

v1 -> v2:
- Add fixes for signal return and delay slot instructions
- Refactor code

Kwok Cheung Yeung (2):
  linux-user: Fix MIPS ISA transitions during signal handling
  linux-user: Save the correct resume address for MIPS signal handling

 linux-user/signal.c  | 16 +++++++++++++++-
 target-mips/cpu.h    |  1 +
 target-mips/helper.c |  4 ++--
 3 files changed, 18 insertions(+), 3 deletions(-)

-- 
1.8.1.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]