linux-uconsole/arch/openrisc/kernel
Jonas Bonn af7b15c9d6 openrisc: Rework signal handling
commit 10f67dbf6a upstream.

The mainline signal handling code for OpenRISC has been buggy since day
one with respect to syscall restart.  This patch significantly reworks
the signal handling code:

i)   Move the "work pending" loop to C code (borrowed from ARM arch)

ii)  Allow a tracer to muck about with the IP and skip syscall restart
     in that case (again, borrowed from ARM)

iii) Make signal handling WRT syscall restart actually work

v)   Make the signal handling code look more like that of other
     architectures so that it's easier for others to follow

Reported-by: Anders Nystrom <anders@southpole.se>
Signed-off-by: Jonas Bonn <jonas@southpole.se>
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-17 09:03:59 -07:00
..
asm-offsets.c openrisc: use kbuild.h instead of defining macros in asm-offset.c 2012-10-25 15:54:33 +02:00
dma.c openrisc: provide dma_map_ops 2012-05-08 11:43:51 +02:00
entry.S openrisc: Rework signal handling 2014-09-17 09:03:59 -07:00
head.S openrisc: add missing header inclusion 2013-02-26 07:44:08 +01:00
irq.c openrisc: mask interrupts in irq_mask_ack function 2012-10-11 11:27:26 +02:00
Makefile openrisc: Use generic idle loop 2013-04-08 17:39:27 +02:00
module.c OpenRISC: Module support 2011-07-22 18:46:37 +02:00
or32_ksyms.c OpenRISC: Miscellaneous 2011-07-22 18:46:41 +02:00
process.c dump_stack: unify debug information printed by show_regs() 2013-04-30 17:04:02 -07:00
prom.c Disintegrate asm/system.h for OpenRISC 2012-03-28 18:30:03 +01:00
ptrace.c audit: define AUDIT_ARCH_OPENRISC 2012-09-21 08:09:54 +02:00
setup.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
signal.c openrisc: Rework signal handling 2014-09-17 09:03:59 -07:00
sys_call_table.c OpenRISC: System calls 2011-07-22 18:46:34 +02:00
time.c openrisc: Set shortest clock event to 100 ticks 2012-02-17 10:08:19 +01:00
traps.c dump_stack: consolidate dump_stack() implementations and unify their behaviors 2013-04-30 17:04:02 -07:00
vmlinux.h OpenRISC: Headers 2011-07-22 18:46:39 +02:00
vmlinux.lds.S OpenRISC: Build infrastructure 2011-07-22 18:46:30 +02:00