linux_dsm_epyc7002/arch/arc/kernel
Vineet Gupta 5c39c0ab5e ARC: [Review] Preparing to fix incorrect syscall restarts due to signals
To avoid multiple syscall restarts (multiple signals) or no restart at
all (sigreturn), we need just an extra bit of state "literally 1 bit" in
struct pt_regs. orig_r8 is the best place to do this, however given the
way it is encoded currently, we can't add anything simplistically.

Current orig_r8:
* syscalls   -> 1 to NR_SYSCALLS
* Exceptions -> NR_SYSCALLS + 1
* Break-point-> NR_SYSCALLS + 2

In new scheme it is a bit-field
* lower short word contains the  exact event type (and a new bit to represent
   restart semantics : if syscall was already / can't be restarted)
* upper short word optionally containing the syscall num - needed by
  likes of tracehooks etc

This patch only changes how orig_r8 is organised and nothing should
change behaviourily.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
2013-02-15 23:15:49 +05:30
..
arcksyms.c ARC: Build system: Makefiles, Kconfig, Linker script 2013-02-11 20:00:25 +05:30
asm-offsets.c ARC: [Review] Preparing to fix incorrect syscall restarts due to signals 2013-02-15 23:15:49 +05:30
clk.c ARC: Timers/counters/delay management 2013-02-11 20:00:39 +05:30
ctx_sw_asm.S ARC: Process-creation/scheduling/idle-loop 2013-02-11 20:00:38 +05:30
ctx_sw.c ARC: Process-creation/scheduling/idle-loop 2013-02-11 20:00:38 +05:30
entry.S ARC: [Review] Preparing to fix incorrect syscall restarts due to signals 2013-02-15 23:15:49 +05:30
fpu.c ARC: Process-creation/scheduling/idle-loop 2013-02-11 20:00:38 +05:30
irq.c ARC: Interrupt Handling 2013-02-11 20:00:37 +05:30
Makefile ARC: Build system: Makefiles, Kconfig, Linker script 2013-02-11 20:00:25 +05:30
process.c ARC: Process-creation/scheduling/idle-loop 2013-02-11 20:00:38 +05:30
signal.c ARC: Signal handling 2013-02-15 23:03:30 +05:30
sys.c ARC: Syscall support (no-legacy-syscall ABI) 2013-02-11 20:00:38 +05:30
time.c ARC: Timers/counters/delay management 2013-02-11 20:00:39 +05:30
traps.c ARC: Non-MMU Exception Handling 2013-02-11 20:00:37 +05:30
vmlinux.lds.S ARC: Build system: Makefiles, Kconfig, Linker script 2013-02-11 20:00:25 +05:30