PERFORCE change 53357 for review

Marcel Moolenaar marcel at FreeBSD.org
Sun May 23 14:22:28 PDT 2004


http://perforce.freebsd.org/chv.cgi?CH=53357

Change 53357 by marcel at marcel_nfs on 2004/05/23 14:22:00

	Remove support for GDB in its entirety. The GDB backend
	has its own way for ports to register itself. The dcons(4)
	driver needs to be rewritten to make use of that.

Affected files ...

.. //depot/projects/gdb/sys/dev/dcons/dcons.c#4 edit

Differences ...

==== //depot/projects/gdb/sys/dev/dcons/dcons.c#4 (text+ko) ====

@@ -36,6 +36,7 @@
  */
 
 #include <sys/param.h>
+#include <sys/kdb.h>
 #include <sys/kernel.h>
 #include <sys/systm.h>
 #include <sys/types.h>
@@ -72,10 +73,6 @@
 #define DCONS_FORCE_CONSOLE	0	/* mostly for FreeBSD-4 */
 #endif
 
-#ifndef DCONS_FORCE_GDB
-#define DCONS_FORCE_GDB	1
-#endif
-
 #if __FreeBSD_version >= 500101
 #define CONS_NODEV	1	/* for latest current */
 static struct consdev gdbconsdev;
@@ -133,7 +130,6 @@
 	dev_t dev;
 	struct dcons_ch	o, i;
 	int brk_state;
-#define DC_GDB	1
 	int flags;
 } sc[DCONS_NPORT];
 static void	dcons_tty_start(struct tty *);
@@ -397,26 +393,9 @@
 		ch->pos = 0;
 	}
 
-#if DDB && ALT_BREAK_TO_DEBUGGER
-	switch (dc->brk_state) {
-	case STATE1:
-		if (c == KEY_TILDE)
-			dc->brk_state = STATE2;
-		else
-			dc->brk_state = STATE0;
-		break;
-	case STATE2:
-		dc->brk_state = STATE0;
-		if (c == KEY_CTRLB) {
-#if DCONS_FORCE_GDB
-			if (dc->flags & DC_GDB)
-				boothowto |= RB_GDB;
-#endif
-			breakpoint();
-		}
-	}
-	if (c == KEY_CR)
-		dc->brk_state = STATE1;
+#if KDB && ALT_BREAK_TO_DEBUGGER
+	if (kdb_alt_break(c, &dc->brk_state))
+		breakpoint();
 #endif
 	return (c);
 }
@@ -510,20 +489,6 @@
 	dcons_init_port(1, offset, size - size0);
 	dg.buf->version = htonl(DCONS_VERSION);
 	dg.buf->magic = ntohl(DCONS_MAGIC);
-
-#if DDB && DCONS_FORCE_GDB
-#if CONS_NODEV
-	gdbconsdev.cn_arg = (void *)&sc[DCONS_GDB];
-#if __FreeBSD_version >= 501109
-	sprintf(gdbconsdev.cn_name, "dgdb");
-#endif
-	gdb_arg = &gdbconsdev;
-#else
-	gdbdev = makedev(CDEV_MAJOR, DCONS_GDB);
-#endif
-	gdb_getc = dcons_cngetc;
-	gdb_putc = dcons_cnputc;
-#endif
 	drv_init = 1;
 
 	return 0;
@@ -559,7 +524,6 @@
 	int polltime;
 
 	dcons_attach_port(DCONS_CON, "dcons", 0);
-	dcons_attach_port(DCONS_GDB, "dgdb", DC_GDB);
 #if __FreeBSD_version < 500000
 	callout_init(&dcons_callout);
 #else
@@ -621,18 +585,10 @@
 	case MOD_UNLOAD:
 		printf("dcons: unload\n");
 		callout_stop(&dcons_callout);
-#if DDB && DCONS_FORCE_GDB
-#if CONS_NODEV
-		gdb_arg = NULL;
-#else
-		gdbdev = NODEV;
-#endif
-#endif
 #if __FreeBSD_version >= 500000
 		cnremove(&dcons_consdev);
 #endif
 		dcons_detach(DCONS_CON);
-		dcons_detach(DCONS_GDB);
 		dg.buf->magic = 0;
 
 		contigfree(dg.buf, DCONS_BUF_SIZE, M_DEVBUF);


More information about the p4-projects mailing list