aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-common/entry.S
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2010-02-17 05:44:22 -0500
committerMike Frysinger <vapier@gentoo.org>2010-03-09 00:30:51 -0500
commit600482c13d3d3612d71f39d8aaec47f63aafa801 (patch)
tree87b347917f743a493de71d9655f7f336f4e92c73 /arch/blackfin/mach-common/entry.S
parente8f263dfd32a784a816fe68956e564f8ede4a9fc (diff)
Blackfin: fix single stepping over system calls
On Blackfin systems, the hardware single step exception triggers before the system call exception, so we need to save this info to process it later on. Otherwise, single stepping in userspace misses a few insns right after the system call. This is based a bit on the SuperH code added in commit 4b505db9c4c72dbd. Reported-by: Roland McGrath <roland@redhat.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch/blackfin/mach-common/entry.S')
-rw-r--r--arch/blackfin/mach-common/entry.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S
index 0df5b834d34e..0a9e458d0f7e 100644
--- a/arch/blackfin/mach-common/entry.S
+++ b/arch/blackfin/mach-common/entry.S
@@ -642,6 +642,8 @@ ENTRY(_system_call)
642 r7 = [p2+TI_FLAGS]; 642 r7 = [p2+TI_FLAGS];
643 CC = BITTST(r7,TIF_SYSCALL_TRACE); 643 CC = BITTST(r7,TIF_SYSCALL_TRACE);
644 if CC JUMP _sys_trace; 644 if CC JUMP _sys_trace;
645 CC = BITTST(r7,TIF_SINGLESTEP);
646 if CC JUMP _sys_trace;
645 647
646 /* Execute the appropriate system call */ 648 /* Execute the appropriate system call */
647 649