aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ofw
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2008-05-04 23:29:38 +0000
committerPeter Wemm <peter@FreeBSD.org>2008-05-04 23:29:38 +0000
commit43d7128c1450d36af259094b7cf39c0c4d17908c (patch)
treedec162871c2e0c2defef809d28858069fac12065 /sys/dev/ofw
parent228d330b1a327345e2e1a7dbb9c6122b19604547 (diff)
Notes
Diffstat (limited to 'sys/dev/ofw')
-rw-r--r--sys/dev/ofw/ofw_console.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/sys/dev/ofw/ofw_console.c b/sys/dev/ofw/ofw_console.c
index 154bcc5228cf..156f1211ec54 100644
--- a/sys/dev/ofw/ofw_console.c
+++ b/sys/dev/ofw/ofw_console.c
@@ -281,8 +281,23 @@ ofw_cngetc(struct consdev *cp)
if (OF_read(stdin, &ch, 1) > 0) {
#if defined(KDB) && defined(ALT_BREAK_TO_DEBUGGER)
- if (kdb_alt_break(ch, &alt_break_state))
- kdb_enter(KDB_WHY_BREAK, "Break sequence on console");
+ int kdb_brk;
+
+ if ((kdb_brk = kdb_alt_break(ch, &alt_break_state)) != 0) {
+ switch (kdb_brk) {
+ case KDB_REQ_DEBUGGER:
+ kdb_enter(KDB_WHY_BREAK,
+ "Break sequence on console");
+ break;
+ case KDB_REQ_PANIC:
+ kdb_panic("Panic sequence on console");
+ break;
+ case KDB_REQ_REBOOT:
+ kdb_reboot();
+ break;
+
+ }
+ }
#endif
return (ch);
}