From 1ea833a57290e04a5dfa8eebd6d4fa28204a807b Mon Sep 17 00:00:00 2001 From: Tom Jones Date: Tue, 12 Apr 2022 10:30:22 +0100 Subject: [PATCH] kdb: set kdb_why when entered via reboot and panic Reviewed by: jhb Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. X-NetApp-PR: #74 Differential Revision: https://reviews.freebsd.org/D34551 --- sys/kern/subr_kdb.c | 4 +++- sys/sys/kdb.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/kern/subr_kdb.c b/sys/kern/subr_kdb.c index b189fe303e0f..6aa8bd17e048 100644 --- a/sys/kern/subr_kdb.c +++ b/sys/kern/subr_kdb.c @@ -292,6 +292,7 @@ void kdb_panic(const char *msg) { + kdb_why = KDB_WHY_PANIC; printf("KDB: panic\n"); panic("%s", msg); } @@ -300,6 +301,7 @@ void kdb_reboot(void) { + kdb_why = KDB_WHY_REBOOT; printf("KDB: reboot requested\n"); shutdown_nice(0); } @@ -498,9 +500,9 @@ kdb_enter(const char *why, const char *msg) { if (kdb_dbbe != NULL && kdb_active == 0) { + kdb_why = why; if (msg != NULL) printf("KDB: enter: %s\n", msg); - kdb_why = why; breakpoint(); kdb_why = KDB_WHY_UNSET; } diff --git a/sys/sys/kdb.h b/sys/sys/kdb.h index 746abb0ee4f4..4669a3f9f551 100644 --- a/sys/sys/kdb.h +++ b/sys/sys/kdb.h @@ -121,6 +121,7 @@ extern const char * volatile kdb_why; #define KDB_WHY_POWERPC "powerpc" /* Unhandled powerpc intr. */ #define KDB_WHY_UNIONFS "unionfs" /* Unionfs bug. */ #define KDB_WHY_DTRACE "dtrace" /* DTrace action entered debugger. */ +#define KDB_WHY_REBOOT "reboot" /* reboot was requested. */ /* Return values for kdb_alt_break */ #define KDB_REQ_DEBUGGER 1 /* User requested Debugger */