powerpc,kgdb: Introduce low level trap catching
authorJason Wessel <jason.wessel@windriver.com>
Fri, 21 May 2010 02:04:25 +0000 (21:04 -0500)
committerJason Wessel <jason.wessel@windriver.com>
Fri, 21 May 2010 02:04:25 +0000 (21:04 -0500)
commitba797b28131b1f1367b662936ea370239d603cff
tree3939c2cf1ced75fc9a14339cf369a32c85c7f7fe
parentf503b5ae53cb557ac351a668fcac1baab1cef0db
powerpc,kgdb: Introduce low level trap catching

The only way the debugger can handle a trap in inside rcu_lock,
notify_die, or atomic_notifier_call_chain without a recursive fault is
to allow the kernel debugger to handle the exception first in
program_check_exception().

The other change here is to make sure that kgdb_handle_exception() is
called with correct parameters when catching an oops, because kdb
needs to know if the entry was an oops, single step, or breakpoint
exception.

[benh@kernel.crashing.org: move debugger_bpt instead of #ifdef]

CC: Paul Mackerras <paulus@samba.org>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/kgdb.c
arch/powerpc/kernel/traps.c