Page MenuHomeFreeBSD

D27535.diff
No OneTemporary

D27535.diff

diff --git a/sys/arm/arm/trap-v6.c b/sys/arm/arm/trap-v6.c
--- a/sys/arm/arm/trap-v6.c
+++ b/sys/arm/arm/trap-v6.c
@@ -562,6 +562,9 @@
bool usermode;
const char *mode;
const char *rw_mode;
+#ifdef KDB
+ bool handled;
+#endif
usermode = TRAPF_USERMODE(tf);
#ifdef KDTRACE_HOOKS
@@ -609,8 +612,10 @@
#ifdef KDB
if (debugger_on_trap) {
kdb_why = KDB_WHY_TRAP;
- kdb_trap(fsr, 0, tf);
+ handled = kdb_trap(fsr, 0, tf);
kdb_why = KDB_WHY_UNSET;
+ if (handled)
+ return (0);
}
#endif
panic("Fatal abort");
diff --git a/sys/mips/mips/trap.c b/sys/mips/mips/trap.c
--- a/sys/mips/mips/trap.c
+++ b/sys/mips/mips/trap.c
@@ -524,6 +524,9 @@
register_t pc;
int cop, error;
register_t *frame_regs;
+#ifdef KDB
+ bool handled;
+#endif
trapdebug_enter(trapframe, 0);
#ifdef KDB
@@ -1091,8 +1094,10 @@
#ifdef KDB
if (debugger_on_trap) {
kdb_why = KDB_WHY_TRAP;
- kdb_trap(type, 0, trapframe);
+ handled = kdb_trap(type, 0, trapframe);
kdb_why = KDB_WHY_UNSET;
+ if (handled)
+ return (trapframe->pc);
}
#endif
panic("trap");

File Metadata

Mime Type
text/plain
Expires
Tue, Apr 28, 7:08 AM (7 h, 40 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32257595
Default Alt Text
D27535.diff (1 KB)

Event Timeline