diff options
-rw-r--r-- | sys/amd64/amd64/trap.c | 2 | ||||
-rw-r--r-- | sys/ddb/ddb.h | 1 | ||||
-rw-r--r-- | sys/i386/i386/trap.c | 2 | ||||
-rw-r--r-- | sys/powerpc/aim/trap.c | 2 | ||||
-rw-r--r-- | sys/powerpc/powerpc/trap.c | 2 | ||||
-rw-r--r-- | sys/sys/kdb.h | 1 |
6 files changed, 3 insertions, 7 deletions
diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 493363346000..7baaeee08b93 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -623,7 +623,7 @@ trap_fatal(frame, eva) } #ifdef KDB - if (kdb_trap(type, 0, frame)) + if ((debugger_on_panic || kdb_active) && kdb_trap(type, 0, frame)) return; #endif printf("trap number = %d\n", type); diff --git a/sys/ddb/ddb.h b/sys/ddb/ddb.h index ba667052b303..3264fffb8214 100644 --- a/sys/ddb/ddb.h +++ b/sys/ddb/ddb.h @@ -71,7 +71,6 @@ extern db_expr_t db_maxoff; extern int db_indent; extern int db_inst_count; extern int db_load_count; -extern int debugger_on_panic; extern int db_store_count; extern db_expr_t db_radix; extern db_expr_t db_max_width; diff --git a/sys/i386/i386/trap.c b/sys/i386/i386/trap.c index a75ecec4a4ce..ae2b4ed21394 100644 --- a/sys/i386/i386/trap.c +++ b/sys/i386/i386/trap.c @@ -798,7 +798,7 @@ trap_fatal(frame, eva) } #ifdef KDB - if (kdb_trap(type, 0, frame)) + if ((debugger_on_panic || kdb_active) && kdb_trap(type, 0, frame)) return; #endif printf("trap number = %d\n", type); diff --git a/sys/powerpc/aim/trap.c b/sys/powerpc/aim/trap.c index a19cacc3cc00..669bb60b939d 100644 --- a/sys/powerpc/aim/trap.c +++ b/sys/powerpc/aim/trap.c @@ -93,8 +93,6 @@ int badaddr_read(void *, size_t, int *); extern char *syscallnames[]; -extern int debugger_on_panic; /* XXX */ - struct powerpc_exception { u_int vector; char *name; diff --git a/sys/powerpc/powerpc/trap.c b/sys/powerpc/powerpc/trap.c index a19cacc3cc00..669bb60b939d 100644 --- a/sys/powerpc/powerpc/trap.c +++ b/sys/powerpc/powerpc/trap.c @@ -93,8 +93,6 @@ int badaddr_read(void *, size_t, int *); extern char *syscallnames[]; -extern int debugger_on_panic; /* XXX */ - struct powerpc_exception { u_int vector; char *name; diff --git a/sys/sys/kdb.h b/sys/sys/kdb.h index 55d70333385b..ece16fc5aff8 100644 --- a/sys/sys/kdb.h +++ b/sys/sys/kdb.h @@ -57,6 +57,7 @@ struct thread; struct trapframe; extern int kdb_active; /* Non-zero while in debugger. */ +extern int debugger_on_panic; /* enter the debugger on panic. */ extern struct kdb_dbbe *kdb_dbbe; /* Default debugger backend or NULL. */ extern struct trapframe *kdb_frame; /* Frame to kdb_trap(). */ extern struct pcb *kdb_thrctx; /* Current context. */ |