]> git.karo-electronics.de Git - mv-sheeva.git/commit
m68k: Simplify the singlestepping handling in signals
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 3 Oct 2010 02:57:30 +0000 (22:57 -0400)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Fri, 7 Jan 2011 13:01:34 +0000 (14:01 +0100)
commit9e4930dbf17c1eba72631cd52a0c621da3d1a816
tree0ac397df063473dd4990dd41d4ed76ed5cb2d643
parente68847fee706c6fe74c9afc3288c3adfc131b1fa
m68k: Simplify the singlestepping handling in signals

Instead of checking the return value of do_signal() we can just do
the work (raise SIGTRAP and clear SR.T1) directly in handle_signal(),
when setting the sigframe up.  Simplifies the assembler glue and is
closer to the way we do it on other targets.

Note that do_delayed_trace does *not* disappear; it's still needed
to deal with single-stepping through syscall, since 68040 doesn't
raise the trace exception at all if the trap exception is pending.
We hit it after returning from sys_...() if TIF_DELAYED_TRACE is
set; all that has changed is that we don't reuse it for "single-step
into the handler" codepath.

As the result, do_signal() doesn't need to return anything anymore.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
arch/m68k/kernel/entry.S
arch/m68k/kernel/signal.c