linux/arch/sh/kernel
Linus Torvalds 9977d9b379 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal
Pull big execve/kernel_thread/fork unification series from Al Viro:
 "All architectures are converted to new model.  Quite a bit of that
  stuff is actually shared with architecture trees; in such cases it's
  literally shared branch pulled by both, not a cherry-pick.

  A lot of ugliness and black magic is gone (-3KLoC total in this one):

   - kernel_thread()/kernel_execve()/sys_execve() redesign.

     We don't do syscalls from kernel anymore for either kernel_thread()
     or kernel_execve():

     kernel_thread() is essentially clone(2) with callback run before we
     return to userland, the callbacks either never return or do
     successful do_execve() before returning.

     kernel_execve() is a wrapper for do_execve() - it doesn't need to
     do transition to user mode anymore.

     As a result kernel_thread() and kernel_execve() are
     arch-independent now - they live in kernel/fork.c and fs/exec.c
     resp.  sys_execve() is also in fs/exec.c and it's completely
     architecture-independent.

   - daemonize() is gone, along with its parts in fs/*.c

   - struct pt_regs * is no longer passed to do_fork/copy_process/
     copy_thread/do_execve/search_binary_handler/->load_binary/do_coredump.

   - sys_fork()/sys_vfork()/sys_clone() unified; some architectures
     still need wrappers (ones with callee-saved registers not saved in
     pt_regs on syscall entry), but the main part of those suckers is in
     kernel/fork.c now."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (113 commits)
  do_coredump(): get rid of pt_regs argument
  print_fatal_signal(): get rid of pt_regs argument
  ptrace_signal(): get rid of unused arguments
  get rid of ptrace_signal_deliver() arguments
  new helper: signal_pt_regs()
  unify default ptrace_signal_deliver
  flagday: kill pt_regs argument of do_fork()
  death to idle_regs()
  don't pass regs to copy_process()
  flagday: don't pass regs to copy_thread()
  bfin: switch to generic vfork, get rid of pointless wrappers
  xtensa: switch to generic clone()
  openrisc: switch to use of generic fork and clone
  unicore32: switch to generic clone(2)
  score: switch to generic fork/vfork/clone
  c6x: sanitize copy_thread(), get rid of clone(2) wrapper, switch to generic clone()
  take sys_fork/sys_vfork/sys_clone prototypes to linux/syscalls.h
  mn10300: switch to generic fork/vfork/clone
  h8300: switch to generic fork/vfork/clone
  tile: switch to generic clone()
  ...

Conflicts:
	arch/microblaze/include/asm/Kbuild
2012-12-12 12:22:13 -08:00
..
cpu Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-12-12 12:22:13 -08:00
vsyscall
.gitignore
asm-offsets.c
cpufreq.c
crash_dump.c
debugtraps.S
disassemble.c
dma-nommu.c
dumpstack.c
dwarf.c
entry-common.S sh: switch to generic kernel_thread()/kernel_execve() 2012-10-22 22:31:01 -04:00
ftrace.c
head_32.S
head_64.S
hw_breakpoint.c
idle.c
io_trapped.c
io.c
iomap.c
ioport.c
irq_32.c
irq_64.c
irq.c
kdebugfs.c
kgdb.c
kprobes.c
localtimer.c
machine_kexec.c
machvec.c
Makefile sh: switch to generic kernel_thread()/kernel_execve() 2012-10-22 22:31:01 -04:00
module.c
nmi_debug.c
perf_callchain.c
perf_event.c
process_32.c flagday: don't pass regs to copy_thread() 2012-11-28 23:43:42 -05:00
process_64.c flagday: don't pass regs to copy_thread() 2012-11-28 23:43:42 -05:00
process.c
ptrace_32.c
ptrace_64.c
ptrace.c
reboot.c
relocate_kernel.S
return_address.c
setup.c
sh_bios.c
sh_ksyms_32.c
sh_ksyms_64.c
signal_32.c
signal_64.c sh64: fix altstack switching on sigreturn 2012-11-28 21:46:11 -05:00
smp.c
stacktrace.c
swsusp.c
sys_sh32.c sh: switch to generic kernel_thread()/kernel_execve() 2012-10-22 22:31:01 -04:00
sys_sh.c
syscalls_32.S sh: Wire up kcmp syscall. 2012-10-15 13:54:29 +09:00
syscalls_64.S sh: Wire up kcmp syscall. 2012-10-15 13:54:29 +09:00
time.c
topology.c
traps_32.c
traps_64.c
traps.c
unwinder.c
vmlinux.lds.S