android_kernel_xiaomi_sm8350/arch/sh/kernel
Paul Mundt 336f1d3268 sh: Fix up restorer in debug_trap exception return path.
There are a few different types of debug trap exceptions, though now
that they are all going through a special jump table, the restorer needs
to be unified as well.

Presently this is falling through the ret_from_fork path, which more or
less does the right thing on SH-3/4 whilst being completely unsuitable on
MMU-less targets.

Ultimately what we want here is a branch through the platform's
restore_all directly, without worrying about the retval being clobbered.
We can accomplish that through a branch to __restore_all directly, so
switch it so we come back from the jump table and branch to the restorer.

This fixes up a recursion in the nommu WARN_ON() path, as well as some
other userspace nastiness where said recursion caused serious stack
corruption.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-05-19 19:39:33 +09:00
..
cpu sh: fix sh7785 master clock value 2008-05-16 14:55:07 +09:00
timers sh: replace remaining __FUNCTION__ occurrences 2008-03-06 11:18:22 +09:00
vsyscall
asm-offsets.c sh: use kbuild.h instead of defining macros in asm-offsets.c 2008-04-29 08:06:30 -07:00
cf-enabler.c sh: Add support for Solution Engine SH7721 board 2008-04-18 09:50:02 -07:00
cpufreq.c
crash_dump.c
debugtraps.S
dump_task.c sh: Fix occasional FPU register corruption under preempt. 2008-03-26 19:02:47 +09:00
early_printk.c sh: reset hardware from early printk 2008-05-08 19:51:54 +09:00
entry-common.S sh: Fix up restorer in debug_trap exception return path. 2008-05-19 19:39:33 +09:00
head_32.S sh: disable initrd defaults in .empty_zero_page. 2008-05-16 14:55:07 +09:00
head_64.S
init_task.c
io_generic.c sh: trapped io support V2 2008-02-14 14:22:09 +09:00
io_trapped.c sh: Fix up section mismatches. 2008-03-06 12:43:38 +09:00
io.c sh: trapped io support V2 2008-02-14 14:22:09 +09:00
irq.c proper __do_softirq() prototype 2008-04-29 08:06:02 -07:00
kgdb_jmp.S
kgdb_stub.c sh: use the common ascii hex helpers 2008-05-16 15:09:08 +09:00
machine_kexec.c
machvec.c
Makefile
Makefile_32 Generic semaphore implementation 2008-04-17 10:42:34 -04:00
Makefile_64 Generic semaphore implementation 2008-04-17 10:42:34 -04:00
module.c
pm.c
process_32.c sh: Fix occasional FPU register corruption under preempt. 2008-03-26 19:02:47 +09:00
process_64.c sh64: add missing #include <asm/fpu.h>'s 2008-04-16 02:00:09 +09:00
ptrace_32.c sh: fix ptrace copy_from/to_user() compilation error 2008-02-14 14:22:09 +09:00
ptrace_64.c sh64: add missing #include <asm/fpu.h>'s 2008-04-16 02:00:09 +09:00
relocate_kernel.S
setup.c sh: display boot params by default on entry. 2008-05-16 14:55:06 +09:00
sh_bios.c
sh_ksyms_32.c sh64: Some symbol exports to make the allmodconfig happier. 2008-05-08 19:51:41 +09:00
sh_ksyms_64.c sh64: Some symbol exports to make the allmodconfig happier. 2008-05-08 19:51:41 +09:00
signal_32.c sh: Fix occasional FPU register corruption under preempt. 2008-03-26 19:02:47 +09:00
signal_64.c sh64: add missing #include <asm/fpu.h>'s 2008-04-16 02:00:09 +09:00
smp.c SH: Use newer, non-deprecated __SPIN_LOCK_UNLOCKED macro. 2008-03-21 12:19:07 +09:00
stacktrace.c
sys_sh32.c
sys_sh64.c unified (weak) sys_pipe implementation 2008-05-03 13:50:33 -07:00
sys_sh.c
syscalls_32.S sh: Wire up new timerfd syscalls. 2008-02-14 14:22:08 +09:00
syscalls_64.S sh: Wire up new timerfd syscalls. 2008-02-14 14:22:08 +09:00
time_32.c sh: fix xtime_lock deadlocking. 2008-02-14 14:22:08 +09:00
time_64.c sh64: Some symbol exports to make the allmodconfig happier. 2008-05-08 19:51:41 +09:00
topology.c sh: replace remaining __FUNCTION__ occurrences 2008-03-06 11:18:22 +09:00
traps_32.c sh: arch/sh/kernel/traps_32.c needs asm/fpu.h 2008-04-16 02:03:51 +09:00
traps_64.c sh64: add missing #include <asm/fpu.h>'s 2008-04-16 02:00:09 +09:00
traps.c sh: Make is_valid_bugaddr() more intelligent on nommu. 2008-05-19 19:32:07 +09:00
vmlinux_32.lds.S
vmlinux_64.lds.S sh: Kill off more dead symbols. 2008-02-14 14:22:12 +09:00
vmlinux.lds.S