diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2001-08-31 01:05:45 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2001-08-31 01:05:45 +0000 |
commit | e039c349ee3c58f175950109989f55408b308ad7 (patch) | |
tree | c1b2633b12c1691959c4f5da58a02869ac2bb92e | |
parent | db9da0396880db0af636d8eb2465926f6e6def75 (diff) |
Clean the DDB entry procedure for all console drivers, and honour
db_console setting.
-rw-r--r-- | sys/arch/mvme88k/dev/cl.c | 28 | ||||
-rw-r--r-- | sys/arch/mvme88k/dev/dart.c | 34 | ||||
-rw-r--r-- | sys/arch/mvme88k/dev/vx.c | 14 |
3 files changed, 41 insertions, 35 deletions
diff --git a/sys/arch/mvme88k/dev/cl.c b/sys/arch/mvme88k/dev/cl.c index 92e8c46f7fc..8fbcb608af8 100644 --- a/sys/arch/mvme88k/dev/cl.c +++ b/sys/arch/mvme88k/dev/cl.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cl.c,v 1.13 2001/08/26 02:37:07 miod Exp $ */ +/* $OpenBSD: cl.c,v 1.14 2001/08/31 01:05:44 miod Exp $ */ /* * Copyright (c) 1995 Dale Rahn. All rights reserved. @@ -41,15 +41,23 @@ #include <sys/systm.h> #include <sys/time.h> #include <sys/device.h> +#include <sys/syslog.h> + #include <machine/cpu.h> #include <machine/autoconf.h> +#include <machine/psl.h> + #include <dev/cons.h> #include <mvme88k/dev/clreg.h> -#include <sys/syslog.h> + #include "cl.h" #include "pcctwo.h" #include <mvme88k/dev/pcctworeg.h> -#include <machine/psl.h> + +#ifdef DDB +#include <ddb/db_var.h> +#endif + #define splcl() splx(IPL_TTY) /* min timeout 0xa, what is a good value */ @@ -70,7 +78,6 @@ #ifdef DEBUG #undef DEBUG #endif -#define DEBUG_KERN 1 struct cl_cons { void *cl_paddr; volatile struct clreg *cl_vaddr; @@ -1641,7 +1648,7 @@ cl_rxintr(arg) int i; u_char reoir; u_char buffer[CL_FIFO_MAX +1]; -#ifdef CONSOLEBREAKDDB +#ifdef DDB int wantddb = 0; #endif @@ -1676,7 +1683,7 @@ cl_rxintr(arg) reoir = 0x08; } else if (risrl & 0x01) { -#ifdef CONSOLEBREAKDDB +#ifdef DDB if (sc->sc_cl[channel].cl_consio) wantddb = 1; #endif @@ -1803,8 +1810,8 @@ log(LOG_WARNING, "cl_txintr: DMAMODE channel %x dmabsts %x risrl %x risrh %x\n", reoir = 0x08; sc->cl_reg->cl_reoir = reoir; } -#ifdef CONSOLEBREAKDDB - if (wantddb) +#ifdef DDB + if (wantddb != 0 && db_console != 0) Debugger(); #endif return 1; @@ -1850,8 +1857,9 @@ cl_break (sc, channel) struct clsoftc *sc; int channel; { -#ifdef DEBUG_KERN - Debugger(); +#ifdef DDB + if (db_console != 0) + Debugger(); #else log(LOG_WARNING, "%s%d[%d]: break detected\n", cl_cd.cd_name, 0, channel); #endif diff --git a/sys/arch/mvme88k/dev/dart.c b/sys/arch/mvme88k/dev/dart.c index 1e6dae463e8..3c541c11b2b 100644 --- a/sys/arch/mvme88k/dev/dart.c +++ b/sys/arch/mvme88k/dev/dart.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dart.c,v 1.10 2001/08/26 02:37:07 miod Exp $ */ +/* $OpenBSD: dart.c,v 1.11 2001/08/31 01:05:44 miod Exp $ */ /* * Mach Operating System @@ -36,24 +36,24 @@ #include <sys/time.h> #include <sys/device.h> #include <sys/simplelock.h> -#include <machine/cpu.h> +#include <sys/syslog.h> + +#include <machine/asm_macro.h> /* enable/disable interrupts */ #include <machine/autoconf.h> +#include <machine/cpu.h> #include <machine/cpu_number.h> -#include <machine/asm_macro.h> /* enable/disable interrupts */ +#include <machine/psl.h> + #include <dev/cons.h> + #include <mvme88k/dev/sysconreg.h> #include <mvme88k/dev/dartreg.h> -#include <sys/syslog.h> + #include "dart.h" -#include <machine/psl.h> #define spldart() splx(IPL_TTY) -#if defined(DDB) -#include <machine/db_machdep.h> /* for details on entering kdb */ -#define DDB_ENTER_BREAK 0x1 -#define DDB_ENTER_CHAR 0x2 -unsigned char ddb_break_mode = DDB_ENTER_BREAK; -unsigned char ddb_break_char = 0; +#ifdef DDB +#include <db_variables.h> #endif #ifdef DEBUG @@ -983,9 +983,9 @@ dartrint(sc, port) ptaddr->write.wr_cr = ERRRESET; #if defined(DDB) - if (ddb_break_mode & DDB_ENTER_BREAK) { + if (db_console != 0) { dprintf(("dartrint: break detected - entering debugger\n")); - gimmeabreak(); + Debugger(); } #endif } else { @@ -1001,13 +1001,7 @@ dartrint(sc, port) ptaddr->write.wr_cr = ERRRESET; } else { /* no errors */ -#if defined(DDB) - if ((ddb_break_mode & DDB_ENTER_CHAR) && (ddb_break_char == data)) { - dprintf(("dartrint: ddb_break_char detected - entering debugger\n")); - gimmeabreak(); - } else -#endif - (*linesw[tp->t_line].l_rint)(data,tp); + (*linesw[tp->t_line].l_rint)(data,tp); #if 0 { if (tp->t_ispeed == B134) /* CS6 */ diff --git a/sys/arch/mvme88k/dev/vx.c b/sys/arch/mvme88k/dev/vx.c index 1cd64de6b72..f946a62e2ed 100644 --- a/sys/arch/mvme88k/dev/vx.c +++ b/sys/arch/mvme88k/dev/vx.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vx.c,v 1.9 2001/08/26 02:37:07 miod Exp $ */ +/* $OpenBSD: vx.c,v 1.10 2001/08/31 01:05:44 miod Exp $ */ /* * Copyright (c) 1999 Steve Murphree, Jr. * All rights reserved. @@ -43,6 +43,7 @@ #include <machine/cpu.h> #include <machine/autoconf.h> +#include <machine/psl.h> #include <dev/cons.h> @@ -54,13 +55,15 @@ #include <mvme88k/dev/vme.h> #endif -#include <machine/psl.h> +#ifdef DDB +#include <ddb/db_variables.h> +#endif + #define splvx() spltty() #ifdef DEBUG #undef DEBUG #endif -#define DEBUG_KERN 1 struct vx_info { struct tty *tty; @@ -1295,8 +1298,9 @@ vx_break (sc, port) struct vxsoftc *sc; int port; { -#ifdef DEBUG_KERN - Debugger(); +#ifdef DDB + if (db_console != 0) + Debugger(); #else log(LOG_WARNING, "%s port %d: break detected\n", sc->sc_dev.dv_xname, port); #endif |