Module Name:    src
Committed By:   riastradh
Date:           Wed Oct 26 23:38:10 UTC 2022

Modified Files:
        src/sys/arch/aarch64/aarch64: db_machdep.c
        src/sys/arch/alpha/alpha: db_interface.c
        src/sys/arch/amd64/amd64: db_interface.c machdep.c
        src/sys/arch/amiga/dev: ser.c
        src/sys/arch/arm/amlogic: meson_uart.c
        src/sys/arch/arm/arm32: db_interface.c
        src/sys/arch/arm/at91: at91dbgu.c at91usart.c
        src/sys/arch/arm/clps711x: clpscom.c
        src/sys/arch/arm/ep93xx: epcom.c
        src/sys/arch/arm/imx: imxuart.c
        src/sys/arch/arm/s3c2xx0: sscom.c
        src/sys/arch/arm/sa11x0: sa11x0_com.c
        src/sys/arch/arm/samsung: exynos_uart.c
        src/sys/arch/arm/xilinx: zynq_uart.c
        src/sys/arch/arm/zynq: zynq_uart.c
        src/sys/arch/epoc32/windermere: wmcom.c
        src/sys/arch/evbarm/dev: plcom.c
        src/sys/arch/hppa/hppa: db_interface.c
        src/sys/arch/i386/i386: db_interface.c machdep.c
        src/sys/arch/ia64/ia64: db_interface.c
        src/sys/arch/m68k/m68k: db_interface.c
        src/sys/arch/mips/mips: db_interface.c
        src/sys/arch/powerpc/powerpc: db_interface.c
        src/sys/arch/riscv/riscv: db_interface.c
        src/sys/arch/sh3/sh3: db_interface.c
        src/sys/arch/sparc/sparc: db_interface.c
        src/sys/arch/sparc64/dev: zs.c
        src/sys/arch/sparc64/sparc64: db_interface.c machdep.c
        src/sys/arch/sun2/dev: zs.c
        src/sys/arch/vax/vax: db_machdep.c
        src/sys/arch/x86/x86: intr.c
        src/sys/dev/ic: com.c
        src/sys/external/bsd/drm2/include/linux: kgdb.h
        src/sys/kern: subr_msan.c uipc_socket2.c
        src/sys/uvm: uvm_page.c
Added Files:
        src/sys/ddb: db_active.h

Log Message:
ddb/db_active.h: New home for extern db_active.

This can be included unconditionally, and db_active can then be
queried unconditionally; if DDB is not in the kernel, then db_active
is a constant zero.  Reduces need for #include opt_ddb.h, #ifdef DDB.


To generate a diff of this commit:
cvs rdiff -u -r1.44 -r1.45 src/sys/arch/aarch64/aarch64/db_machdep.c
cvs rdiff -u -r1.36 -r1.37 src/sys/arch/alpha/alpha/db_interface.c
cvs rdiff -u -r1.40 -r1.41 src/sys/arch/amd64/amd64/db_interface.c
cvs rdiff -u -r1.365 -r1.366 src/sys/arch/amd64/amd64/machdep.c
cvs rdiff -u -r1.85 -r1.86 src/sys/arch/amiga/dev/ser.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/amlogic/meson_uart.c
cvs rdiff -u -r1.63 -r1.64 src/sys/arch/arm/arm32/db_interface.c
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/arm/at91/at91dbgu.c
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/at91/at91usart.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/clps711x/clpscom.c
cvs rdiff -u -r1.35 -r1.36 src/sys/arch/arm/ep93xx/epcom.c
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/arm/imx/imxuart.c
cvs rdiff -u -r1.49 -r1.50 src/sys/arch/arm/s3c2xx0/sscom.c
cvs rdiff -u -r1.58 -r1.59 src/sys/arch/arm/sa11x0/sa11x0_com.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/samsung/exynos_uart.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/xilinx/zynq_uart.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/zynq/zynq_uart.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/epoc32/windermere/wmcom.c
cvs rdiff -u -r1.65 -r1.66 src/sys/arch/evbarm/dev/plcom.c
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/hppa/hppa/db_interface.c
cvs rdiff -u -r1.87 -r1.88 src/sys/arch/i386/i386/db_interface.c
cvs rdiff -u -r1.838 -r1.839 src/sys/arch/i386/i386/machdep.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/ia64/ia64/db_interface.c
cvs rdiff -u -r1.35 -r1.36 src/sys/arch/m68k/m68k/db_interface.c
cvs rdiff -u -r1.96 -r1.97 src/sys/arch/mips/mips/db_interface.c
cvs rdiff -u -r1.59 -r1.60 src/sys/arch/powerpc/powerpc/db_interface.c
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/riscv/riscv/db_interface.c
cvs rdiff -u -r1.66 -r1.67 src/sys/arch/sh3/sh3/db_interface.c
cvs rdiff -u -r1.96 -r1.97 src/sys/arch/sparc/sparc/db_interface.c
cvs rdiff -u -r1.78 -r1.79 src/sys/arch/sparc64/dev/zs.c
cvs rdiff -u -r1.137 -r1.138 src/sys/arch/sparc64/sparc64/db_interface.c
cvs rdiff -u -r1.305 -r1.306 src/sys/arch/sparc64/sparc64/machdep.c
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/sun2/dev/zs.c
cvs rdiff -u -r1.59 -r1.60 src/sys/arch/vax/vax/db_machdep.c
cvs rdiff -u -r1.161 -r1.162 src/sys/arch/x86/x86/intr.c
cvs rdiff -u -r0 -r1.1 src/sys/ddb/db_active.h
cvs rdiff -u -r1.378 -r1.379 src/sys/dev/ic/com.c
cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/drm2/include/linux/kgdb.h
cvs rdiff -u -r1.17 -r1.18 src/sys/kern/subr_msan.c
cvs rdiff -u -r1.141 -r1.142 src/sys/kern/uipc_socket2.c
cvs rdiff -u -r1.250 -r1.251 src/sys/uvm/uvm_page.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/aarch64/aarch64/db_machdep.c
diff -u src/sys/arch/aarch64/aarch64/db_machdep.c:1.44 src/sys/arch/aarch64/aarch64/db_machdep.c:1.45
--- src/sys/arch/aarch64/aarch64/db_machdep.c:1.44	Sun May 29 16:45:00 2022
+++ src/sys/arch/aarch64/aarch64/db_machdep.c	Wed Oct 26 23:38:05 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: db_machdep.c,v 1.44 2022/05/29 16:45:00 ryo Exp $ */
+/* $NetBSD: db_machdep.c,v 1.45 2022/10/26 23:38:05 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_machdep.c,v 1.44 2022/05/29 16:45:00 ryo Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_machdep.c,v 1.45 2022/10/26 23:38:05 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd32.h"
@@ -55,6 +55,7 @@ __KERNEL_RCSID(0, "$NetBSD: db_machdep.c
 #include <arm/cpufunc.h>
 
 #include <ddb/db_access.h>
+#include <ddb/db_active.h>
 #include <ddb/db_command.h>
 #include <ddb/db_output.h>
 #include <ddb/db_proc.h>

Index: src/sys/arch/alpha/alpha/db_interface.c
diff -u src/sys/arch/alpha/alpha/db_interface.c:1.36 src/sys/arch/alpha/alpha/db_interface.c:1.37
--- src/sys/arch/alpha/alpha/db_interface.c:1.36	Tue Feb 23 07:13:51 2021
+++ src/sys/arch/alpha/alpha/db_interface.c	Wed Oct 26 23:38:05 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: db_interface.c,v 1.36 2021/02/23 07:13:51 mrg Exp $ */
+/* $NetBSD: db_interface.c,v 1.37 2022/10/26 23:38:05 riastradh Exp $ */
 
 /*
  * Mach Operating System
@@ -52,7 +52,7 @@
 
 #include <sys/cdefs.h>			/* RCS ID & Copyright macro defns */
 
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.36 2021/02/23 07:13:51 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.37 2022/10/26 23:38:05 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/proc.h>
@@ -68,6 +68,7 @@ __KERNEL_RCSID(0, "$NetBSD: db_interface
 
 #include <alpha/alpha/db_instruction.h>
 
+#include <ddb/db_active.h>
 #include <ddb/db_sym.h>
 #include <ddb/db_command.h>
 #include <ddb/db_extern.h>

Index: src/sys/arch/amd64/amd64/db_interface.c
diff -u src/sys/arch/amd64/amd64/db_interface.c:1.40 src/sys/arch/amd64/amd64/db_interface.c:1.41
--- src/sys/arch/amd64/amd64/db_interface.c:1.40	Thu Dec 23 02:07:21 2021
+++ src/sys/arch/amd64/amd64/db_interface.c	Wed Oct 26 23:38:06 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: db_interface.c,v 1.40 2021/12/23 02:07:21 yamaguchi Exp $	*/
+/*	$NetBSD: db_interface.c,v 1.41 2022/10/26 23:38:06 riastradh Exp $	*/
 
 /*
  * Mach Operating System
@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.40 2021/12/23 02:07:21 yamaguchi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.41 2022/10/26 23:38:06 riastradh Exp $");
 
 #include "opt_ddb.h"
 #include "opt_multiprocessor.h"
@@ -60,6 +60,7 @@ __KERNEL_RCSID(0, "$NetBSD: db_interface
 #include <machine/i82489var.h>
 #endif
 
+#include <ddb/db_active.h>
 #include <ddb/db_sym.h>
 #include <ddb/db_command.h>
 #include <ddb/db_extern.h>

Index: src/sys/arch/amd64/amd64/machdep.c
diff -u src/sys/arch/amd64/amd64/machdep.c:1.365 src/sys/arch/amd64/amd64/machdep.c:1.366
--- src/sys/arch/amd64/amd64/machdep.c:1.365	Wed Oct 26 23:23:52 2022
+++ src/sys/arch/amd64/amd64/machdep.c	Wed Oct 26 23:38:06 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: machdep.c,v 1.365 2022/10/26 23:23:52 riastradh Exp $	*/
+/*	$NetBSD: machdep.c,v 1.366 2022/10/26 23:38:06 riastradh Exp $	*/
 
 /*
  * Copyright (c) 1996, 1997, 1998, 2000, 2006, 2007, 2008, 2011
@@ -110,7 +110,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.365 2022/10/26 23:23:52 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.366 2022/10/26 23:38:06 riastradh Exp $");
 
 #include "opt_modular.h"
 #include "opt_user_ldt.h"
@@ -204,6 +204,8 @@ __KERNEL_RCSID(0, "$NetBSD: machdep.c,v 
 #include <xen/include/public/vcpu.h>
 #endif /* XEN */
 
+#include <ddb/db_active.h>
+
 #ifdef DDB
 #include <machine/db_machdep.h>
 #include <ddb/db_extern.h>
@@ -701,12 +703,7 @@ cpu_reboot(int howto, char *bootstr)
 		       vfs_unmount_forceone(curlwp))
 			;	/* do nothing */
 	} else {
-		int ddb = 0;
-#ifdef DDB
-		extern int db_active; /* XXX */
-		ddb = db_active;
-#endif
-		if (!ddb)
+		if (!db_active)
 			suspendsched();
 	}
 

Index: src/sys/arch/amiga/dev/ser.c
diff -u src/sys/arch/amiga/dev/ser.c:1.85 src/sys/arch/amiga/dev/ser.c:1.86
--- src/sys/arch/amiga/dev/ser.c:1.85	Tue Oct  4 07:24:32 2022
+++ src/sys/arch/amiga/dev/ser.c	Wed Oct 26 23:38:06 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: ser.c,v 1.85 2022/10/04 07:24:32 rin Exp $ */
+/*	$NetBSD: ser.c,v 1.86 2022/10/26 23:38:06 riastradh Exp $ */
 
 /*
  * Copyright (c) 1982, 1986, 1990 The Regents of the University of California.
@@ -40,7 +40,7 @@
 #include "opt_kgdb.h"
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ser.c,v 1.85 2022/10/04 07:24:32 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ser.c,v 1.86 2022/10/26 23:38:06 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -64,6 +64,8 @@ __KERNEL_RCSID(0, "$NetBSD: ser.c,v 1.85
 
 #include <dev/cons.h>
 
+#include <ddb/db_active.h>
+
 #include "ser.h"
 #if NSER > 0
 
@@ -605,8 +607,6 @@ sereint(int stat)
 		break_in_progress = 1;
 #ifdef DDB
 		if (serconsole == 0) {
-			extern int db_active;
-
 			if (!db_active) {
 				console_debugger();
 				return;

Index: src/sys/arch/arm/amlogic/meson_uart.c
diff -u src/sys/arch/arm/amlogic/meson_uart.c:1.6 src/sys/arch/arm/amlogic/meson_uart.c:1.7
--- src/sys/arch/arm/amlogic/meson_uart.c:1.6	Fri Feb 12 21:39:55 2021
+++ src/sys/arch/arm/amlogic/meson_uart.c	Wed Oct 26 23:38:06 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: meson_uart.c,v 1.6 2021/02/12 21:39:55 ryo Exp $ */
+/* $NetBSD: meson_uart.c,v 1.7 2022/10/26 23:38:06 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
 
 #include <sys/cdefs.h>
 
-__KERNEL_RCSID(1, "$NetBSD: meson_uart.c,v 1.6 2021/02/12 21:39:55 ryo Exp $");
+__KERNEL_RCSID(1, "$NetBSD: meson_uart.c,v 1.7 2022/10/26 23:38:06 riastradh Exp $");
 
 #define cn_trap()			\
 	do {				\
@@ -54,6 +54,8 @@ __KERNEL_RCSID(1, "$NetBSD: meson_uart.c
 #include <sys/lwp.h>
 #include <sys/tty.h>
 
+#include <ddb/db_active.h>
+
 #include <dev/cons.h>
 
 #include <dev/fdt/fdtvar.h>
@@ -261,11 +263,7 @@ meson_uart_cngetc(dev_t dev)
 	}
 
 	c = bus_space_read_4(bst, bsh, UART_RFIFO_REG) & 0xff;
-#if defined(DDB)
-	extern int db_active;
-	if (!db_active)
-#endif
-	{
+	if (!db_active) {
 		int cn_trapped __unused = 0;
 		cn_check_magic(dev, c, meson_uart_cnm_state);
 	}

Index: src/sys/arch/arm/arm32/db_interface.c
diff -u src/sys/arch/arm/arm32/db_interface.c:1.63 src/sys/arch/arm/arm32/db_interface.c:1.64
--- src/sys/arch/arm/arm32/db_interface.c:1.63	Thu Dec  3 07:45:52 2020
+++ src/sys/arch/arm/arm32/db_interface.c	Wed Oct 26 23:38:06 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: db_interface.c,v 1.63 2020/12/03 07:45:52 skrll Exp $	*/
+/*	$NetBSD: db_interface.c,v 1.64 2022/10/26 23:38:06 riastradh Exp $	*/
 
 /*
  * Copyright (c) 1996 Scott K. Stevens
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.63 2020/12/03 07:45:52 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.64 2022/10/26 23:38:06 riastradh Exp $");
 
 #include "opt_ddb.h"
 #include "opt_kgdb.h"
@@ -54,13 +54,16 @@ __KERNEL_RCSID(0, "$NetBSD: db_interface
 
 #include <arm/arm32/db_machdep.h>
 #include <arm/undefined.h>
+
 #include <ddb/db_access.h>
+#include <ddb/db_active.h>
 #include <ddb/db_command.h>
 #include <ddb/db_output.h>
 #include <ddb/db_variables.h>
 #include <ddb/db_sym.h>
 #include <ddb/db_extern.h>
 #include <ddb/db_interface.h>
+
 #include <dev/cons.h>
 
 #if defined(KGDB) || !defined(DDB)

Index: src/sys/arch/arm/at91/at91dbgu.c
diff -u src/sys/arch/arm/at91/at91dbgu.c:1.18 src/sys/arch/arm/at91/at91dbgu.c:1.19
--- src/sys/arch/arm/at91/at91dbgu.c:1.18	Fri Nov 20 18:03:52 2020
+++ src/sys/arch/arm/at91/at91dbgu.c	Wed Oct 26 23:38:06 2022
@@ -1,5 +1,5 @@
-/*	$Id: at91dbgu.c,v 1.18 2020/11/20 18:03:52 thorpej Exp $	*/
-/*	$NetBSD: at91dbgu.c,v 1.18 2020/11/20 18:03:52 thorpej Exp $ */
+/*	$Id: at91dbgu.c,v 1.19 2022/10/26 23:38:06 riastradh Exp $	*/
+/*	$NetBSD: at91dbgu.c,v 1.19 2022/10/26 23:38:06 riastradh Exp $ */
 
 /*
  *
@@ -76,9 +76,8 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: at91dbgu.c,v 1.18 2020/11/20 18:03:52 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: at91dbgu.c,v 1.19 2022/10/26 23:38:06 riastradh Exp $");
 
-#include "opt_ddb.h"
 #include "opt_kgdb.h"
 
 #include "rnd.h"
@@ -98,7 +97,6 @@ __KERNEL_RCSID(0, "$NetBSD: at91dbgu.c,v
 		cn_trapped = 1;			\
 	} while (/* CONSTCOND */ 0)
 
-
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/types.h>
@@ -115,6 +113,8 @@ __KERNEL_RCSID(0, "$NetBSD: at91dbgu.c,v
 #include <machine/intr.h>
 #include <sys/bus.h>
 
+#include <ddb/db_active.h>
+
 #include <arm/at91/at91reg.h>
 #include <arm/at91/at91var.h>
 #include <arm/at91/at91dbguvar.h>
@@ -893,11 +893,7 @@ at91dbgu_cn_getc(dev_t dev)
 		DBGUREG(DBGU_CR) = DBGU_CR_RSTSTA;	// reset status bits
 		c = CNC_BREAK;
 	}
-#ifdef DDB
-	extern int db_active;
-	if (!db_active)
-#endif
-	{
+	if (!db_active) {
 		int cn_trapped __unused = 0;
 
 		cn_check_magic(dev, c, at91dbgu_cnm_state);
@@ -1072,10 +1068,7 @@ dbgu_intr(void* arg)
 		if (ISSET(sr, DBGU_SR_FRAME) && c == 0) {
 			c = CNC_BREAK;
 		}
-#ifdef DDB
-		extern int db_active;
 		if (!db_active)
-#endif
 			cn_check_magic(cn_tab->cn_dev, c, at91dbgu_cnm_state);
 		if (!cn_trapped && cc) {
 			put[0] = c & 0xff;

Index: src/sys/arch/arm/at91/at91usart.c
diff -u src/sys/arch/arm/at91/at91usart.c:1.13 src/sys/arch/arm/at91/at91usart.c:1.14
--- src/sys/arch/arm/at91/at91usart.c:1.13	Mon Apr 13 21:18:40 2015
+++ src/sys/arch/arm/at91/at91usart.c	Wed Oct 26 23:38:06 2022
@@ -1,5 +1,5 @@
-/*	$Id: at91usart.c,v 1.13 2015/04/13 21:18:40 riastradh Exp $	*/
-/*	$NetBSD: at91usart.c,v 1.13 2015/04/13 21:18:40 riastradh Exp $ */
+/*	$Id: at91usart.c,v 1.14 2022/10/26 23:38:06 riastradh Exp $	*/
+/*	$NetBSD: at91usart.c,v 1.14 2022/10/26 23:38:06 riastradh Exp $ */
 
 /*
  * Copyright (c) 2007 Embedtronics Oy. All rights reserved.
@@ -77,9 +77,8 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: at91usart.c,v 1.13 2015/04/13 21:18:40 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: at91usart.c,v 1.14 2022/10/26 23:38:06 riastradh Exp $");
 
-#include "opt_ddb.h"
 #include "opt_kgdb.h"
 
 #ifdef RND_COM
@@ -116,6 +115,8 @@ __KERNEL_RCSID(0, "$NetBSD: at91usart.c,
 #include <machine/intr.h>
 #include <sys/bus.h>
 
+#include <ddb/db_active.h>
+
 #include <arm/at91/at91reg.h>
 #include <arm/at91/at91var.h>
 #include <arm/at91/at91usartreg.h>
@@ -946,12 +947,8 @@ at91usart_cn_getc(dev_t dev)
 		USARTREG(USART_CR) = USART_CR_RSTSTA;	// reset status bits
 		c = CNC_BREAK;
 	}
-#ifdef DDB
-	extern int db_active;
-	if (!db_active)
-#endif
-	{
-		int cn_trapped = 0; /* unused */
+	if (!db_active) {
+		int cn_trapped __unused = 0;
 
 		cn_check_magic(dev, c, at91usart_cnm_state);
 	}

Index: src/sys/arch/arm/clps711x/clpscom.c
diff -u src/sys/arch/arm/clps711x/clpscom.c:1.9 src/sys/arch/arm/clps711x/clpscom.c:1.10
--- src/sys/arch/arm/clps711x/clpscom.c:1.9	Fri Nov 20 18:03:52 2020
+++ src/sys/arch/arm/clps711x/clpscom.c	Wed Oct 26 23:38:06 2022
@@ -1,4 +1,4 @@
-/*      $NetBSD: clpscom.c,v 1.9 2020/11/20 18:03:52 thorpej Exp $      */
+/*      $NetBSD: clpscom.c,v 1.10 2022/10/26 23:38:06 riastradh Exp $      */
 /*
  * Copyright (c) 2013 KIYOHARA Takashi
  * All rights reserved.
@@ -25,7 +25,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: clpscom.c,v 1.9 2020/11/20 18:03:52 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: clpscom.c,v 1.10 2022/10/26 23:38:06 riastradh Exp $");
 
 #include "rnd.h"
 
@@ -44,6 +44,8 @@ __KERNEL_RCSID(0, "$NetBSD: clpscom.c,v 
 #include <sys/tty.h>
 #include <sys/types.h>
 
+#include <ddb/db_active.h>
+
 #include <arm/clps711x/clps711xreg.h>
 #include <arm/clps711x/clpssocvar.h>
 
@@ -1070,13 +1072,8 @@ clpscom_cngetc(dev_t dev)
 
 	ch = CLPSCOM_CNREAD();
 
-	{
-#ifdef DDB
-		extern int db_active;
-		if (!db_active)
-#endif
-			cn_check_magic(dev, ch, clpscom_cnm_state);
-	}
+	if (!db_active)
+		cn_check_magic(dev, ch, clpscom_cnm_state);
 
 	splx(s);
 	return ch;

Index: src/sys/arch/arm/ep93xx/epcom.c
diff -u src/sys/arch/arm/ep93xx/epcom.c:1.35 src/sys/arch/arm/ep93xx/epcom.c:1.36
--- src/sys/arch/arm/ep93xx/epcom.c:1.35	Sat Feb 12 03:24:34 2022
+++ src/sys/arch/arm/ep93xx/epcom.c	Wed Oct 26 23:38:06 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: epcom.c,v 1.35 2022/02/12 03:24:34 riastradh Exp $ */
+/*	$NetBSD: epcom.c,v 1.36 2022/10/26 23:38:06 riastradh Exp $ */
 /*
  * Copyright (c) 1998, 1999, 2001, 2002, 2004 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -73,9 +73,8 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: epcom.c,v 1.35 2022/02/12 03:24:34 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: epcom.c,v 1.36 2022/10/26 23:38:06 riastradh Exp $");
 
-#include "opt_ddb.h"
 #include "opt_kgdb.h"
 #include "epcom.h"
 
@@ -112,6 +111,8 @@ __KERNEL_RCSID(0, "$NetBSD: epcom.c,v 1.
 #include <machine/intr.h>
 #include <sys/bus.h>
 
+#include <ddb/db_active.h>
+
 #include <arm/ep93xx/epcomreg.h>
 #include <arm/ep93xx/epcomvar.h>
 #include <arm/ep93xx/ep93xxreg.h>
@@ -880,17 +881,14 @@ epcom_common_getc(struct epcom_cons_soft
 
         s = splserial();
 
-	while((bus_space_read_4(iot, ioh, EPCOM_Flag) & Flag_RXFE) != 0)
-		;
+	while ((bus_space_read_4(iot, ioh, EPCOM_Flag) & Flag_RXFE) != 0)
+		continue;
 
 	c = bus_space_read_4(iot, ioh, EPCOM_Data);
 	sts = bus_space_read_4(iot, ioh, EPCOM_RXSts);
-	if (ISSET(sts, RXSts_BE)) c = CNC_BREAK;
-#ifdef DDB
-	extern int db_active;
-	if (!db_active)
-#endif
-	{
+	if (ISSET(sts, RXSts_BE))
+		c = CNC_BREAK;
+	if (!db_active) {
 		int cn_trapped __unused = 0;
 
 		cn_check_magic(dev, c, epcom_cnm_state);

Index: src/sys/arch/arm/imx/imxuart.c
diff -u src/sys/arch/arm/imx/imxuart.c:1.29 src/sys/arch/arm/imx/imxuart.c:1.30
--- src/sys/arch/arm/imx/imxuart.c:1.29	Fri May 20 06:59:02 2022
+++ src/sys/arch/arm/imx/imxuart.c	Wed Oct 26 23:38:06 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: imxuart.c,v 1.29 2022/05/20 06:59:02 skrll Exp $ */
+/* $NetBSD: imxuart.c,v 1.30 2022/10/26 23:38:06 riastradh Exp $ */
 
 /*
  * Copyright (c) 2009, 2010  Genetec Corporation.  All rights reserved.
@@ -96,7 +96,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: imxuart.c,v 1.29 2022/05/20 06:59:02 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: imxuart.c,v 1.30 2022/10/26 23:38:06 riastradh Exp $");
 
 #include "opt_imxuart.h"
 #include "opt_ddb.h"
@@ -156,6 +156,8 @@ __KERNEL_RCSID(0, "$NetBSD: imxuart.c,v 
 
 #include <sys/bus.h>
 
+#include <ddb/db_active.h>
+
 #include <arm/imx/imxuartreg.h>
 #include <arm/imx/imxuartvar.h>
 #include <dev/cons.h>
@@ -2120,16 +2122,13 @@ imxuart_common_getc(dev_t dev, struct im
 
 	/* block until a character becomes available */
 	while (!((usr2 = bus_space_read_4(iot, ioh, IMX_USR2)) & IMX_USR2_RDR))
-		;
+		continue;
 
 	c = 0xff & bus_space_read_4(iot, ioh, IMX_URXD);
 
 	{
-		int __attribute__((__unused__))cn_trapped = 0; /* unused */
-#ifdef DDB
-		extern int db_active;
+		int cn_trapped __unused = 0;
 		if (!db_active)
-#endif
 			cn_check_magic(dev, c, imxuart_cnm_state);
 	}
 	splx(s);

Index: src/sys/arch/arm/s3c2xx0/sscom.c
diff -u src/sys/arch/arm/s3c2xx0/sscom.c:1.49 src/sys/arch/arm/s3c2xx0/sscom.c:1.50
--- src/sys/arch/arm/s3c2xx0/sscom.c:1.49	Fri Nov 20 18:34:45 2020
+++ src/sys/arch/arm/s3c2xx0/sscom.c	Wed Oct 26 23:38:06 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: sscom.c,v 1.49 2020/11/20 18:34:45 thorpej Exp $ */
+/*	$NetBSD: sscom.c,v 1.50 2022/10/26 23:38:06 riastradh Exp $ */
 
 /*
  * Copyright (c) 2002, 2003 Fujitsu Component Limited
@@ -98,10 +98,9 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sscom.c,v 1.49 2020/11/20 18:34:45 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sscom.c,v 1.50 2022/10/26 23:38:06 riastradh Exp $");
 
 #include "opt_sscom.h"
-#include "opt_ddb.h"
 #include "opt_kgdb.h"
 #include "opt_multiprocessor.h"
 #include "opt_lockdebug.h"
@@ -143,6 +142,8 @@ __KERNEL_RCSID(0, "$NetBSD: sscom.c,v 1.
 #include <sys/bus.h>
 #include <sys/mutex.h>
 
+#include <ddb/db_active.h>
+
 #include <arm/s3c2xx0/s3c2xx0reg.h>
 #include <arm/s3c2xx0/sscom_var.h>
 #include <dev/cons.h>
@@ -1927,11 +1928,8 @@ sscomcngetc(dev_t dev)
 	c = sscom_getc(sscomconstag, sscomconsioh);
 	stat = sscom_geterr(sscomconstag, sscomconsioh);
 	{
-		int __attribute__((__unused__))cn_trapped = 0;
-#ifdef DDB
-		extern int db_active;
+		int cn_trapped __unused = 0;
 		if (!db_active)
-#endif
 			cn_check_magic(dev, c, sscom_cnm_state);
 	}
 	splx(s);

Index: src/sys/arch/arm/sa11x0/sa11x0_com.c
diff -u src/sys/arch/arm/sa11x0/sa11x0_com.c:1.58 src/sys/arch/arm/sa11x0/sa11x0_com.c:1.59
--- src/sys/arch/arm/sa11x0/sa11x0_com.c:1.58	Fri Nov 20 18:37:30 2020
+++ src/sys/arch/arm/sa11x0/sa11x0_com.c	Wed Oct 26 23:38:07 2022
@@ -1,4 +1,4 @@
-/*      $NetBSD: sa11x0_com.c,v 1.58 2020/11/20 18:37:30 thorpej Exp $        */
+/*      $NetBSD: sa11x0_com.c,v 1.59 2022/10/26 23:38:07 riastradh Exp $        */
 
 /*-
  * Copyright (c) 1998, 1999, 2001 The NetBSD Foundation, Inc.
@@ -64,7 +64,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sa11x0_com.c,v 1.58 2020/11/20 18:37:30 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sa11x0_com.c,v 1.59 2022/10/26 23:38:07 riastradh Exp $");
 
 #include "opt_com.h"
 #include "opt_console.h"
@@ -91,6 +91,8 @@ __KERNEL_RCSID(0, "$NetBSD: sa11x0_com.c
 #include <sys/vnode.h>
 #include <sys/kauth.h>
 
+#include <ddb/db_active.h>
+
 #include <dev/cons.h>
 
 #include <sys/bus.h>
@@ -1487,7 +1489,6 @@ sacomcngetc(dev_t dev)
 #if defined(DDB) || defined(KGDB)
 #ifndef DDB_BREAK_CHAR
 		u_int sr0;
-		extern int db_active;
 
 		sr0 = bus_space_read_4(sacomconstag, sacomconsioh, SACOM_SR0);
 		if (ISSET(sr0, SR0_RBB))

Index: src/sys/arch/arm/samsung/exynos_uart.c
diff -u src/sys/arch/arm/samsung/exynos_uart.c:1.6 src/sys/arch/arm/samsung/exynos_uart.c:1.7
--- src/sys/arch/arm/samsung/exynos_uart.c:1.6	Mon Sep 13 23:31:23 2021
+++ src/sys/arch/arm/samsung/exynos_uart.c	Wed Oct 26 23:38:07 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: exynos_uart.c,v 1.6 2021/09/13 23:31:23 jmcneill Exp $ */
+/* $NetBSD: exynos_uart.c,v 1.7 2022/10/26 23:38:07 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2013-2021 The NetBSD Foundation, Inc.
@@ -33,7 +33,7 @@
 
 #include <sys/cdefs.h>
 
-__KERNEL_RCSID(1, "$NetBSD: exynos_uart.c,v 1.6 2021/09/13 23:31:23 jmcneill Exp $");
+__KERNEL_RCSID(1, "$NetBSD: exynos_uart.c,v 1.7 2022/10/26 23:38:07 riastradh Exp $");
 
 #define cn_trap()			\
 	do {				\
@@ -53,6 +53,8 @@ __KERNEL_RCSID(1, "$NetBSD: exynos_uart.
 #include <sys/lwp.h>
 #include <sys/tty.h>
 
+#include <ddb/db_active.h>
+
 #include <dev/cons.h>
 
 #include <dev/fdt/fdtvar.h>
@@ -311,11 +313,7 @@ exynos_uart_cngetc(dev_t dev)
 	}
 
 	c = RD4(sc, SSCOM_URXH);
-#if defined(DDB)
-	extern int db_active;
-	if (!db_active)
-#endif
-	{
+	if (!db_active) {
 		int cn_trapped __unused = 0;
 		cn_check_magic(dev, c & 0xff, exynos_uart_cnm_state);
 	}

Index: src/sys/arch/arm/xilinx/zynq_uart.c
diff -u src/sys/arch/arm/xilinx/zynq_uart.c:1.3 src/sys/arch/arm/xilinx/zynq_uart.c:1.4
--- src/sys/arch/arm/xilinx/zynq_uart.c:1.3	Fri Nov 20 18:49:44 2020
+++ src/sys/arch/arm/xilinx/zynq_uart.c	Wed Oct 26 23:38:07 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: zynq_uart.c,v 1.3 2020/11/20 18:49:44 thorpej Exp $	*/
+/*	$NetBSD: zynq_uart.c,v 1.4 2022/10/26 23:38:07 riastradh Exp $	*/
 
 /*
  * Copyright (c) 2012  Genetec Corporation.  All rights reserved.
@@ -96,7 +96,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: zynq_uart.c,v 1.3 2020/11/20 18:49:44 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: zynq_uart.c,v 1.4 2022/10/26 23:38:07 riastradh Exp $");
 
 #include "opt_soc.h"
 #include "opt_console.h"
@@ -132,6 +132,8 @@ __KERNEL_RCSID(0, "$NetBSD: zynq_uart.c,
 #include <sys/systm.h>
 #include <sys/tty.h>
 
+#include <ddb/db_active.h>
+
 #ifdef RND_COM
 #include <sys/rndsource.h>
 #endif
@@ -1896,17 +1898,15 @@ zynquart_common_getc(dev_t dev, struct z
 	}
 
 	/* block until a character becomes available */
-	while ((sts = bus_space_read_4(iot, ioh, UART_CHANNEL_STS)) & STS_REMPTY)
-		;
+	while ((sts = bus_space_read_4(iot, ioh, UART_CHANNEL_STS))
+	    & STS_REMPTY)
+		continue;
 
 	c = 0xff & bus_space_read_4(iot, ioh, UART_TX_RX_FIFO);
 
 	{
-		int __attribute__((__unused__))cn_trapped = 0; /* unused */
-#ifdef DDB
-		extern int db_active;
-		if (!db_active)
-#endif
+		int cn_trapped __unused = 0;
+		if (!db_active) {
 			cn_check_magic(dev, c, zynquart_cnm_state);
 	}
 	splx(s);

Index: src/sys/arch/arm/zynq/zynq_uart.c
diff -u src/sys/arch/arm/zynq/zynq_uart.c:1.4 src/sys/arch/arm/zynq/zynq_uart.c:1.5
--- src/sys/arch/arm/zynq/zynq_uart.c:1.4	Fri Nov 20 18:51:31 2020
+++ src/sys/arch/arm/zynq/zynq_uart.c	Wed Oct 26 23:38:07 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: zynq_uart.c,v 1.4 2020/11/20 18:51:31 thorpej Exp $	*/
+/*	$NetBSD: zynq_uart.c,v 1.5 2022/10/26 23:38:07 riastradh Exp $	*/
 
 /*
  * Copyright (c) 2012  Genetec Corporation.  All rights reserved.
@@ -96,7 +96,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: zynq_uart.c,v 1.4 2020/11/20 18:51:31 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: zynq_uart.c,v 1.5 2022/10/26 23:38:07 riastradh Exp $");
 
 #include "opt_zynq.h"
 #include "opt_zynquart.h"
@@ -144,6 +144,8 @@ __KERNEL_RCSID(0, "$NetBSD: zynq_uart.c,
 
 #include <sys/bus.h>
 
+#include <ddb/db_active.h>
+
 #include <arm/zynq/zynq7000_reg.h>
 #include <arm/zynq/zynq_uartreg.h>
 #include <arm/zynq/zynq_uartvar.h>
@@ -1919,11 +1921,9 @@ zynquart_common_getc(dev_t dev, struct z
 	c = 0xff & bus_space_read_4(iot, ioh, UART_TX_RX_FIFO);
 
 	{
-		int __attribute__((__unused__))cn_trapped = 0; /* unused */
-#ifdef DDB
-		extern int db_active;
+		int cn_trapped __unused = 0;
+
 		if (!db_active)
-#endif
 			cn_check_magic(dev, c, zynquart_cnm_state);
 	}
 	splx(s);

Index: src/sys/arch/epoc32/windermere/wmcom.c
diff -u src/sys/arch/epoc32/windermere/wmcom.c:1.8 src/sys/arch/epoc32/windermere/wmcom.c:1.9
--- src/sys/arch/epoc32/windermere/wmcom.c:1.8	Sun Nov 10 21:16:25 2019
+++ src/sys/arch/epoc32/windermere/wmcom.c	Wed Oct 26 23:38:07 2022
@@ -1,4 +1,4 @@
-/*      $NetBSD: wmcom.c,v 1.8 2019/11/10 21:16:25 chs Exp $      */
+/*      $NetBSD: wmcom.c,v 1.9 2022/10/26 23:38:07 riastradh Exp $      */
 /*
  * Copyright (c) 2012 KIYOHARA Takashi
  * All rights reserved.
@@ -25,7 +25,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wmcom.c,v 1.8 2019/11/10 21:16:25 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wmcom.c,v 1.9 2022/10/26 23:38:07 riastradh Exp $");
 
 #include "rnd.h"
 
@@ -44,6 +44,8 @@ __KERNEL_RCSID(0, "$NetBSD: wmcom.c,v 1.
 #include <sys/tty.h>
 #include <sys/types.h>
 
+#include <ddb/db_active.h>
+
 #include <epoc32/windermere/windermerereg.h>
 #include <epoc32/windermere/windermerevar.h>
 
@@ -890,10 +892,7 @@ wmcom_cngetc(dev_t dev)
 	ch = WMCOM_CNREAD_4(UARTDR);
 
 	{
-#ifdef DDB
-		extern int db_active;
 		if (!db_active)
-#endif
 			cn_check_magic(dev, ch, wmcom_cnm_state);
 	}
 

Index: src/sys/arch/evbarm/dev/plcom.c
diff -u src/sys/arch/evbarm/dev/plcom.c:1.65 src/sys/arch/evbarm/dev/plcom.c:1.66
--- src/sys/arch/evbarm/dev/plcom.c:1.65	Tue Sep 27 06:11:36 2022
+++ src/sys/arch/evbarm/dev/plcom.c	Wed Oct 26 23:38:07 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: plcom.c,v 1.65 2022/09/27 06:11:36 skrll Exp $	*/
+/*	$NetBSD: plcom.c,v 1.66 2022/10/26 23:38:07 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2001 ARM Ltd
@@ -94,10 +94,9 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: plcom.c,v 1.65 2022/09/27 06:11:36 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: plcom.c,v 1.66 2022/10/26 23:38:07 riastradh Exp $");
 
 #include "opt_plcom.h"
-#include "opt_ddb.h"
 #include "opt_kgdb.h"
 #include "opt_lockdebug.h"
 #include "opt_multiprocessor.h"
@@ -137,6 +136,8 @@ __KERNEL_RCSID(0, "$NetBSD: plcom.c,v 1.
 #include <sys/rndsource.h>
 #endif
 
+#include <ddb/db_active.h>
+
 #include <evbarm/dev/plcomreg.h>
 #include <evbarm/dev/plcomvar.h>
 
@@ -2306,10 +2307,8 @@ plcom_common_getc(dev_t dev, struct plco
 	c = PREAD1(pi, PL01XCOM_DR);
 	{
 		int cn_trapped __unused = 0;
-#ifdef DDB
-		extern int db_active;
+
 		if (!db_active)
-#endif
 			cn_check_magic(dev, c, plcom_cnm_state);
 	}
 	splx(s);

Index: src/sys/arch/hppa/hppa/db_interface.c
diff -u src/sys/arch/hppa/hppa/db_interface.c:1.27 src/sys/arch/hppa/hppa/db_interface.c:1.28
--- src/sys/arch/hppa/hppa/db_interface.c:1.27	Wed Jan 18 09:35:48 2012
+++ src/sys/arch/hppa/hppa/db_interface.c	Wed Oct 26 23:38:07 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: db_interface.c,v 1.27 2012/01/18 09:35:48 skrll Exp $	*/
+/*	$NetBSD: db_interface.c,v 1.28 2022/10/26 23:38:07 riastradh Exp $	*/
 
 /*	$OpenBSD: db_interface.c,v 1.16 2001/03/22 23:31:45 mickey Exp $	*/
 
@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.27 2012/01/18 09:35:48 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.28 2022/10/26 23:38:07 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -40,6 +40,7 @@ __KERNEL_RCSID(0, "$NetBSD: db_interface
 #include <machine/cpufunc.h>
 
 #include <ddb/db_access.h>
+#include <ddb/db_active.h>
 #include <ddb/db_command.h>
 #include <ddb/db_output.h>
 #include <ddb/db_run.h>
@@ -53,7 +54,6 @@ __KERNEL_RCSID(0, "$NetBSD: db_interface
 
 void kdbprinttrap(int, int);
 
-extern int db_active;
 extern const char *trap_type[];
 extern int trap_types;
 

Index: src/sys/arch/i386/i386/db_interface.c
diff -u src/sys/arch/i386/i386/db_interface.c:1.87 src/sys/arch/i386/i386/db_interface.c:1.88
--- src/sys/arch/i386/i386/db_interface.c:1.87	Thu Dec 23 02:07:21 2021
+++ src/sys/arch/i386/i386/db_interface.c	Wed Oct 26 23:38:07 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: db_interface.c,v 1.87 2021/12/23 02:07:21 yamaguchi Exp $	*/
+/*	$NetBSD: db_interface.c,v 1.88 2022/10/26 23:38:07 riastradh Exp $	*/
 
 /*
  * Mach Operating System
@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.87 2021/12/23 02:07:21 yamaguchi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.88 2022/10/26 23:38:07 riastradh Exp $");
 
 #include "opt_ddb.h"
 #include "opt_multiprocessor.h"
@@ -61,6 +61,7 @@ __KERNEL_RCSID(0, "$NetBSD: db_interface
 #include <machine/i82489var.h>
 #endif
 
+#include <ddb/db_active.h>
 #include <ddb/db_sym.h>
 #include <ddb/db_command.h>
 #include <ddb/db_extern.h>

Index: src/sys/arch/i386/i386/machdep.c
diff -u src/sys/arch/i386/i386/machdep.c:1.838 src/sys/arch/i386/i386/machdep.c:1.839
--- src/sys/arch/i386/i386/machdep.c:1.838	Wed Oct 26 23:23:52 2022
+++ src/sys/arch/i386/i386/machdep.c	Wed Oct 26 23:38:07 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: machdep.c,v 1.838 2022/10/26 23:23:52 riastradh Exp $	*/
+/*	$NetBSD: machdep.c,v 1.839 2022/10/26 23:38:07 riastradh Exp $	*/
 
 /*
  * Copyright (c) 1996, 1997, 1998, 2000, 2004, 2006, 2008, 2009, 2017
@@ -67,7 +67,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.838 2022/10/26 23:23:52 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.839 2022/10/26 23:38:07 riastradh Exp $");
 
 #include "opt_beep.h"
 #include "opt_compat_freebsd.h"
@@ -155,6 +155,8 @@ __KERNEL_RCSID(0, "$NetBSD: machdep.c,v 
 #include <machine/isa_machdep.h>
 #include <dev/ic/i8042reg.h>
 
+#include <ddb/db_active.h>
+
 #ifdef DDB
 #include <machine/db_machdep.h>
 #include <ddb/db_extern.h>
@@ -768,12 +770,7 @@ cpu_reboot(int howto, char *bootstr)
 		       vfs_unmount_forceone(curlwp))
 			;	/* do nothing */
 	} else {
-		int ddb = 0;
-#ifdef DDB
-		extern int db_active; /* XXX */
-		ddb = db_active;
-#endif
-		if (!ddb)
+		if (!db_active)
 			suspendsched();
 	}
 

Index: src/sys/arch/ia64/ia64/db_interface.c
diff -u src/sys/arch/ia64/ia64/db_interface.c:1.9 src/sys/arch/ia64/ia64/db_interface.c:1.10
--- src/sys/arch/ia64/ia64/db_interface.c:1.9	Tue Feb 23 07:13:52 2021
+++ src/sys/arch/ia64/ia64/db_interface.c	Wed Oct 26 23:38:08 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: db_interface.c,v 1.9 2021/02/23 07:13:52 mrg Exp $ */
+/* $NetBSD: db_interface.c,v 1.10 2022/10/26 23:38:08 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2003-2005 Marcel Moolenaar
@@ -80,7 +80,7 @@
 
 #include <sys/cdefs.h>			/* RCS ID & Copyright macro defns */
 
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.9 2021/02/23 07:13:52 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.10 2022/10/26 23:38:08 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/proc.h>
@@ -95,6 +95,7 @@ __KERNEL_RCSID(0, "$NetBSD: db_interface
 #include <machine/md_var.h>
 #include <machine/db_machdep.h>
 
+#include <ddb/db_active.h>
 #include <ddb/db_sym.h>
 #include <ddb/db_command.h>
 #include <ddb/db_extern.h>

Index: src/sys/arch/m68k/m68k/db_interface.c
diff -u src/sys/arch/m68k/m68k/db_interface.c:1.35 src/sys/arch/m68k/m68k/db_interface.c:1.36
--- src/sys/arch/m68k/m68k/db_interface.c:1.35	Tue Jan 31 21:17:57 2012
+++ src/sys/arch/m68k/m68k/db_interface.c	Wed Oct 26 23:38:08 2022
@@ -1,28 +1,28 @@
-/*	$NetBSD: db_interface.c,v 1.35 2012/01/31 21:17:57 mlelstv Exp $	*/
+/*	$NetBSD: db_interface.c,v 1.36 2022/10/26 23:38:08 riastradh Exp $	*/
 
-/* 
+/*
  * Mach Operating System
  * Copyright (c) 1992 Carnegie Mellon University
  * All Rights Reserved.
- * 
+ *
  * Permission to use, copy, modify and distribute this software and its
  * documentation is hereby granted, provided that both the copyright
  * notice and this permission notice appear in all copies of the
  * software, derivative works or modified versions, and any portions
  * thereof, and that both notices appear in supporting documentation.
- * 
+ *
  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- * 
+ *
  * Carnegie Mellon requests users of this software to return to
- * 
+ *
  *  Software Distribution Coordinator  or  software.distribut...@cs.cmu.edu
  *  School of Computer Science
  *  Carnegie Mellon University
  *  Pittsburgh PA 15213-3890
- * 
- * any improvements or extensions that they make and grant Carnegie Mellon 
+ *
+ * any improvements or extensions that they make and grant Carnegie Mellon
  * the rights to redistribute these changes.
  */
 
@@ -31,11 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.35 2012/01/31 21:17:57 mlelstv Exp $");
-
-#ifdef _KERNEL_OPT
-#include "opt_ddb.h"
-#endif
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.36 2022/10/26 23:38:08 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/proc.h>
@@ -49,6 +45,7 @@ __KERNEL_RCSID(0, "$NetBSD: db_interface
 #include <machine/trap.h>
 #include <machine/db_machdep.h>
 
+#include <ddb/db_active.h>
 #include <ddb/db_command.h>
 #include <ddb/db_sym.h>
 #ifdef _KERNEL

Index: src/sys/arch/mips/mips/db_interface.c
diff -u src/sys/arch/mips/mips/db_interface.c:1.96 src/sys/arch/mips/mips/db_interface.c:1.97
--- src/sys/arch/mips/mips/db_interface.c:1.96	Sat Jan 15 10:32:32 2022
+++ src/sys/arch/mips/mips/db_interface.c	Wed Oct 26 23:38:08 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: db_interface.c,v 1.96 2022/01/15 10:32:32 skrll Exp $	*/
+/*	$NetBSD: db_interface.c,v 1.97 2022/10/26 23:38:08 riastradh Exp $	*/
 
 /*
  * Mach Operating System
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.96 2022/01/15 10:32:32 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.97 2022/10/26 23:38:08 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_multiprocessor.h"
@@ -59,6 +59,7 @@ __KERNEL_RCSID(0, "$NetBSD: db_interface
 #include <machine/int_fmtio.h>
 #include <machine/db_machdep.h>
 #include <ddb/db_access.h>
+#include <ddb/db_active.h>
 #include <ddb/db_user.h>
 #ifndef KGDB
 #include <ddb/db_command.h>

Index: src/sys/arch/powerpc/powerpc/db_interface.c
diff -u src/sys/arch/powerpc/powerpc/db_interface.c:1.59 src/sys/arch/powerpc/powerpc/db_interface.c:1.60
--- src/sys/arch/powerpc/powerpc/db_interface.c:1.59	Mon Sep 12 08:02:44 2022
+++ src/sys/arch/powerpc/powerpc/db_interface.c	Wed Oct 26 23:38:08 2022
@@ -1,8 +1,8 @@
-/*	$NetBSD: db_interface.c,v 1.59 2022/09/12 08:02:44 rin Exp $ */
+/*	$NetBSD: db_interface.c,v 1.60 2022/10/26 23:38:08 riastradh Exp $ */
 /*	$OpenBSD: db_interface.c,v 1.2 1996/12/28 06:21:50 rahnds Exp $	*/
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.59 2022/09/12 08:02:44 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.60 2022/10/26 23:38:08 riastradh Exp $");
 
 #define USERACC
 
@@ -46,6 +46,7 @@ __KERNEL_RCSID(0, "$NetBSD: db_interface
 #endif
 
 #ifdef DDB
+#include <ddb/db_active.h>
 #include <ddb/db_sym.h>
 #include <ddb/db_command.h>
 #include <ddb/db_extern.h>

Index: src/sys/arch/riscv/riscv/db_interface.c
diff -u src/sys/arch/riscv/riscv/db_interface.c:1.1 src/sys/arch/riscv/riscv/db_interface.c:1.2
--- src/sys/arch/riscv/riscv/db_interface.c:1.1	Tue Sep 27 08:18:21 2022
+++ src/sys/arch/riscv/riscv/db_interface.c	Wed Oct 26 23:38:08 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: db_interface.c,v 1.1 2022/09/27 08:18:21 skrll Exp $	*/
+/*	$NetBSD: db_interface.c,v 1.2 2022/10/26 23:38:08 riastradh Exp $	*/
 
 /*
  * Mach Operating System
@@ -27,11 +27,10 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.1 2022/09/27 08:18:21 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.2 2022/10/26 23:38:08 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_multiprocessor.h"
-#include "opt_ddb.h"
 #include "opt_kgdb.h"
 #endif
 
@@ -53,6 +52,7 @@ __KERNEL_RCSID(0, "$NetBSD: db_interface
 #include <machine/db_machdep.h>
 
 #include <ddb/db_access.h>
+#include <ddb/db_active.h>
 #include <ddb/db_user.h>
 #ifndef KGDB
 #include <ddb/db_command.h>

Index: src/sys/arch/sh3/sh3/db_interface.c
diff -u src/sys/arch/sh3/sh3/db_interface.c:1.66 src/sys/arch/sh3/sh3/db_interface.c:1.67
--- src/sys/arch/sh3/sh3/db_interface.c:1.66	Tue Feb 23 07:13:52 2021
+++ src/sys/arch/sh3/sh3/db_interface.c	Wed Oct 26 23:38:08 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: db_interface.c,v 1.66 2021/02/23 07:13:52 mrg Exp $	*/
+/*	$NetBSD: db_interface.c,v 1.67 2022/10/26 23:38:08 riastradh Exp $	*/
 
 /*-
  * Copyright (C) 2002 UCHIYAMA Yasushi.  All rights reserved.
@@ -28,9 +28,8 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.66 2021/02/23 07:13:52 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.67 2022/10/26 23:38:08 riastradh Exp $");
 
-#include "opt_ddb.h"
 #include "opt_kgdb.h"
 #include "opt_kstack_debug.h"
 
@@ -42,6 +41,7 @@ __KERNEL_RCSID(0, "$NetBSD: db_interface
 #include <dev/cons.h>
 
 #include <machine/db_machdep.h>
+#include <ddb/db_active.h>
 #include <ddb/db_run.h>
 #include <ddb/db_sym.h>
 

Index: src/sys/arch/sparc/sparc/db_interface.c
diff -u src/sys/arch/sparc/sparc/db_interface.c:1.96 src/sys/arch/sparc/sparc/db_interface.c:1.97
--- src/sys/arch/sparc/sparc/db_interface.c:1.96	Tue Feb 23 07:13:52 2021
+++ src/sys/arch/sparc/sparc/db_interface.c	Wed Oct 26 23:38:08 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: db_interface.c,v 1.96 2021/02/23 07:13:52 mrg Exp $ */
+/*	$NetBSD: db_interface.c,v 1.97 2022/10/26 23:38:08 riastradh Exp $ */
 
 /*
  * Mach Operating System
@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.96 2021/02/23 07:13:52 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.97 2022/10/26 23:38:08 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ddb.h"
@@ -56,6 +56,7 @@ __KERNEL_RCSID(0, "$NetBSD: db_interface
 #include <machine/locore.h>
 
 #include <ddb/db_access.h>
+#include <ddb/db_active.h>
 #include <ddb/ddbvar.h>
 
 #if defined(DDB) || defined(_KMEMUSER)

Index: src/sys/arch/sparc64/dev/zs.c
diff -u src/sys/arch/sparc64/dev/zs.c:1.78 src/sys/arch/sparc64/dev/zs.c:1.79
--- src/sys/arch/sparc64/dev/zs.c:1.78	Sat Sep 11 20:28:05 2021
+++ src/sys/arch/sparc64/dev/zs.c	Wed Oct 26 23:38:08 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: zs.c,v 1.78 2021/09/11 20:28:05 andvar Exp $	*/
+/*	$NetBSD: zs.c,v 1.79 2022/10/26 23:38:08 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 1996 The NetBSD Foundation, Inc.
@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: zs.c,v 1.78 2021/09/11 20:28:05 andvar Exp $");
+__KERNEL_RCSID(0, "$NetBSD: zs.c,v 1.79 2022/10/26 23:38:08 riastradh Exp $");
 
 #include "opt_ddb.h"
 #include "opt_kgdb.h"
@@ -66,6 +66,8 @@ __KERNEL_RCSID(0, "$NetBSD: zs.c,v 1.78 
 #include <dev/cons.h>
 #include <dev/ic/z8530reg.h>
 #include <dev/sun/kbd_ms_ttyvar.h>
+
+#include <ddb/db_active.h>
 #include <ddb/db_output.h>
 
 #include <dev/sbus/sbusvar.h>
@@ -738,15 +740,11 @@ zs_abort(struct zs_chanstate *cs)
 #if defined(KGDB)
 	zskgdb(cs);
 #elif defined(DDB)
-	{
-		extern int db_active;
-		
-		if (!db_active)
-			Debugger();
-		else
-			/* Debugger is probably hozed */
-			callrom();
-	}
+	if (!db_active)
+		Debugger();
+	else
+		/* Debugger is probably hozed */
+		callrom();
 #else
 	printf("stopping on keyboard abort\n");
 	callrom();

Index: src/sys/arch/sparc64/sparc64/db_interface.c
diff -u src/sys/arch/sparc64/sparc64/db_interface.c:1.137 src/sys/arch/sparc64/sparc64/db_interface.c:1.138
--- src/sys/arch/sparc64/sparc64/db_interface.c:1.137	Wed May 11 14:58:00 2022
+++ src/sys/arch/sparc64/sparc64/db_interface.c	Wed Oct 26 23:38:08 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: db_interface.c,v 1.137 2022/05/11 14:58:00 andvar Exp $ */
+/*	$NetBSD: db_interface.c,v 1.138 2022/10/26 23:38:08 riastradh Exp $ */
 
 /*
  * Copyright (c) 1996-2002 Eduardo Horvath.  All rights reserved.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.137 2022/05/11 14:58:00 andvar Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_interface.c,v 1.138 2022/10/26 23:38:08 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ddb.h"
@@ -52,6 +52,7 @@ __KERNEL_RCSID(0, "$NetBSD: db_interface
 #include <dev/cons.h>
 
 #include <machine/db_machdep.h>
+#include <ddb/db_active.h>
 #include <ddb/db_command.h>
 #include <ddb/db_sym.h>
 #include <ddb/db_variables.h>

Index: src/sys/arch/sparc64/sparc64/machdep.c
diff -u src/sys/arch/sparc64/sparc64/machdep.c:1.305 src/sys/arch/sparc64/sparc64/machdep.c:1.306
--- src/sys/arch/sparc64/sparc64/machdep.c:1.305	Tue Jul 26 20:08:56 2022
+++ src/sys/arch/sparc64/sparc64/machdep.c	Wed Oct 26 23:38:08 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: machdep.c,v 1.305 2022/07/26 20:08:56 andvar Exp $ */
+/*	$NetBSD: machdep.c,v 1.306 2022/10/26 23:38:08 riastradh Exp $ */
 
 /*-
  * Copyright (c) 1996, 1997, 1998, 2019 The NetBSD Foundation, Inc.
@@ -71,7 +71,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.305 2022/07/26 20:08:56 andvar Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.306 2022/10/26 23:38:08 riastradh Exp $");
 
 #include "opt_ddb.h"
 #include "opt_multiprocessor.h"
@@ -106,6 +106,8 @@ __KERNEL_RCSID(0, "$NetBSD: machdep.c,v 
 
 #include <sys/exec_aout.h>
 
+#include <ddb/db_active.h>
+
 #include <dev/mm.h>
 
 #include <uvm/uvm.h>
@@ -574,12 +576,7 @@ cpu_reboot(int howto, char *user_boot_st
 		       vfs_unmount_forceone(l))
 			;	/* do nothing */
 	} else {
-		int ddb = 0;
-#ifdef DDB
-		extern int db_active; /* XXX */
-		ddb = db_active;
-#endif
-		if (!ddb)
+		if (!db_active)
 			suspendsched();
 	}
 

Index: src/sys/arch/sun2/dev/zs.c
diff -u src/sys/arch/sun2/dev/zs.c:1.24 src/sys/arch/sun2/dev/zs.c:1.25
--- src/sys/arch/sun2/dev/zs.c:1.24	Sat Sep 11 20:28:05 2021
+++ src/sys/arch/sun2/dev/zs.c	Wed Oct 26 23:38:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: zs.c,v 1.24 2021/09/11 20:28:05 andvar Exp $	*/
+/*	$NetBSD: zs.c,v 1.25 2022/10/26 23:38:09 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 1996 The NetBSD Foundation, Inc.
@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: zs.c,v 1.24 2021/09/11 20:28:05 andvar Exp $");
+__KERNEL_RCSID(0, "$NetBSD: zs.c,v 1.25 2022/10/26 23:38:09 riastradh Exp $");
 
 #include "opt_ddb.h"
 #include "opt_kgdb.h"
@@ -66,6 +66,8 @@ __KERNEL_RCSID(0, "$NetBSD: zs.c,v 1.24 
 #include <dev/cons.h>
 #include <dev/ic/z8530reg.h>
 #include <dev/sun/kbd_ms_ttyvar.h>
+
+#include <ddb/db_active.h>
 #include <ddb/db_output.h>
 
 #include <sun2/dev/cons.h>
@@ -145,7 +147,7 @@ static int zs_get_speed(struct zs_chanst
  * USE ROM PROPERTIES port-a-ignore-cd AND port-b-ignore-cd FOR
  * SOFT CARRIER, AND keyboard PROPERTY FOR KEYBOARD/MOUSE?
  */
-void 
+void
 zs_attach(struct zsc_softc *zsc, struct zsdevice *zsd, int pri)
 {
 	struct zsc_attach_args zsc_args;
@@ -240,17 +242,17 @@ zs_attach(struct zsc_softc *zsc, struct 
 			zs_lock_chan(cs);
 			zs_write_reg(cs,  9, reset);
 			zs_unlock_chan(cs);
-		} 
+		}
 #if (NKBD > 0) || (NMS > 0)
-		/* 
+		/*
 		 * If this was a zstty it has a keyboard
 		 * property on it we need to attach the
 		 * sunkbd and sunms line disciplines.
 		 */
-		if (child 
+		if (child
 		    && device_is_a(child, "zstty")) {
 			struct kbd_ms_tty_attach_args kma;
-			struct zstty_softc {	
+			struct zstty_softc {
 				/*
 				 * The following are the only fields
 				 * we need here
@@ -265,7 +267,7 @@ zs_attach(struct zsc_softc *zsc, struct 
 			if (tp != NULL) {
 				kma.kmta_dev = tp->t_dev;
 				kma.kmta_consdev = zsc_args.consdev;
-			
+
 				/* Attach 'em if we got 'em. */
 				switch(zs_peripheral_type(zsc->zsc_promunit,
 						 	  zsc->zsc_node,
@@ -318,7 +320,7 @@ zs_attach(struct zsc_softc *zsc, struct 
 
 }
 
-static int 
+static int
 zs_print(void *aux, const char *name)
 {
 	struct zsc_attach_args *args = aux;
@@ -332,7 +334,7 @@ zs_print(void *aux, const char *name)
 	return (UNCONF);
 }
 
-static int 
+static int
 zshard(void *arg)
 {
 	struct zsc_softc *zsc = arg;
@@ -353,7 +355,7 @@ zshard(void *arg)
 	return (rval);
 }
 
-int 
+int
 zscheckintr(void *arg)
 {
 	struct zsc_softc *zsc;
@@ -374,7 +376,7 @@ zscheckintr(void *arg)
 /*
  * We need this only for TTY_DEBUG purposes.
  */
-static void 
+static void
 zssoft(void *arg)
 {
 	struct zsc_softc *zsc = arg;
@@ -389,7 +391,7 @@ zssoft(void *arg)
 		struct zstty_softc *zst1 = zsc->zsc_cs[1]->cs_private;
 		if (zst0->zst_overflows || zst1->zst_overflows ) {
 			struct trapframe *frame = arg;	/* XXX */
-			
+
 			printf("zs silo overflow from %p\n",
 			    (long)frame->tf_pc);
 		}
@@ -402,7 +404,7 @@ zssoft(void *arg)
 /*
  * Compute the current baud rate given a ZS channel.
  */
-static int 
+static int
 zs_get_speed(struct zs_chanstate *cs)
 {
 	int tconst;
@@ -415,7 +417,7 @@ zs_get_speed(struct zs_chanstate *cs)
 /*
  * MD functions for setting the baud rate and control modes.
  */
-int 
+int
 zs_set_speed(struct zs_chanstate *cs, int bps)
 {
 	int tconst, real_bps;
@@ -446,7 +448,7 @@ zs_set_speed(struct zs_chanstate *cs, in
 	return (0);
 }
 
-int 
+int
 zs_set_modes(struct zs_chanstate *cs, int cflag	/* bits per second */)
 {
 
@@ -560,7 +562,7 @@ extern void Debugger(void);
 /*
  * Handle user request to enter kernel debugger.
  */
-void 
+void
 zs_abort(struct zs_chanstate *cs)
 {
 	volatile struct zschan *zc = zs_conschan_get;
@@ -576,26 +578,21 @@ zs_abort(struct zs_chanstate *cs)
 #if defined(KGDB)
 	zskgdb(cs);
 #elif defined(DDB)
-	{
-		extern int db_active;
-		
-		if (!db_active)
-			Debugger();
-		else
-			/* Debugger is probably hozed */
-			callrom();
-	}
+	if (!db_active)
+		Debugger();
+	else
+		/* Debugger is probably hozed */
+		callrom();
 #else
 	printf("stopping on keyboard abort\n");
 	callrom();
 #endif
 }
 
-
 /*
  * Polled input char.
  */
-int 
+int
 zs_getc(void *arg)
 {
 	volatile struct zschan *zc = arg;
@@ -622,7 +619,7 @@ zs_getc(void *arg)
 /*
  * Polled output char.
  */
-void 
+void
 zs_putc(void *arg, int c)
 {
 	volatile struct zschan *zc = arg;
@@ -653,13 +650,10 @@ zs_putc(void *arg, int c)
 
 /*****************************************************************/
 
-
-
-
 /*
  * Polled console input putchar.
  */
-static int 
+static int
 zscngetc(dev_t dev)
 {
 	return (zs_getc(zs_conschan_get));
@@ -668,7 +662,7 @@ zscngetc(dev_t dev)
 /*
  * Polled console output putchar.
  */
-static void 
+static void
 zscnputc(dev_t dev, int c)
 {
 	zs_putc(zs_conschan_put, c);
@@ -676,10 +670,10 @@ zscnputc(dev_t dev, int c)
 
 int swallow_zsintrs;
 
-static void 
+static void
 zscnpollc(dev_t dev, int on)
 {
-	/* 
+	/*
 	 * Need to tell zs driver to acknowledge all interrupts or we get
 	 * annoying spurious interrupt messages.  This is because mucking
 	 * with spl() levels during polling does not prevent interrupts from
@@ -689,4 +683,3 @@ zscnpollc(dev_t dev, int on)
 	if (on) swallow_zsintrs++;
 	else swallow_zsintrs--;
 }
-

Index: src/sys/arch/vax/vax/db_machdep.c
diff -u src/sys/arch/vax/vax/db_machdep.c:1.59 src/sys/arch/vax/vax/db_machdep.c:1.60
--- src/sys/arch/vax/vax/db_machdep.c:1.59	Tue Feb 23 07:13:52 2021
+++ src/sys/arch/vax/vax/db_machdep.c	Wed Oct 26 23:38:09 2022
@@ -1,29 +1,29 @@
-/*	$NetBSD: db_machdep.c,v 1.59 2021/02/23 07:13:52 mrg Exp $	*/
+/*	$NetBSD: db_machdep.c,v 1.60 2022/10/26 23:38:09 riastradh Exp $	*/
 
-/* 
+/*
  * :set tabs=4
  *
  * Mach Operating System
  * Copyright (c) 1991,1990 Carnegie Mellon University
  * All Rights Reserved.
- * 
+ *
  * Permission to use, copy, modify and distribute this software and its
  * documentation is hereby granted, provided that both the copyright
  * notice and this permission notice appear in all copies of the
  * software, derivative works or modified versions, and any portions
  * thereof, and that both notices appear in supporting documentation.
- * 
+ *
  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- * 
+ *
  * Carnegie Mellon requests users of this software to return to
- * 
+ *
  *  Software Distribution Coordinator  or  software.distribut...@cs.cmu.edu
  *  School of Computer Science
  *  Carnegie Mellon University
  *  Pittsburgh PA 15213-3890
- * 
+ *
  * any improvements or extensions that they make and grant Carnegie the
  * rights to redistribute these changes.
  *
@@ -39,9 +39,8 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_machdep.c,v 1.59 2021/02/23 07:13:52 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_machdep.c,v 1.60 2022/10/26 23:38:09 riastradh Exp $");
 
-#include "opt_ddb.h"
 #include "opt_multiprocessor.h"
 
 #include <sys/param.h>
@@ -60,6 +59,7 @@ __KERNEL_RCSID(0, "$NetBSD: db_machdep.c
 #include <machine/rpb.h>
 #include <vax/vax/gencons.h>
 
+#include <ddb/db_active.h>
 #include <ddb/db_sym.h>
 #include <ddb/db_command.h>
 #include <ddb/db_output.h>
@@ -313,7 +313,7 @@ db_dump_stack(VAX_CALLFRAME *fp, u_int s
 	}
 
 #if 0
-	while (((u_int)(fp->vax_fp) > stackbase - 0x100) && 
+	while (((u_int)(fp->vax_fp) > stackbase - 0x100) &&
 			((u_int)(fp->vax_fp) < (stackbase + USPACE))) {
 #endif
 	while (!IN_USERLAND(fp->vax_fp)) {
@@ -412,7 +412,7 @@ db_stack_trace_print(
 	int		trace_proc;
 	pid_t		curpid;
 	const char	*s;
- 
+
 	/* Check to see if we're tracing a process */
 	trace_proc = 0;
 	s = modif;
@@ -433,8 +433,8 @@ db_stack_trace_print(
 		return;
 	}
 
-	/* 
-	 * If user typed an address its either a PID, or a Frame 
+	/*
+	 * If user typed an address its either a PID, or a Frame
 	 * if no address then either current proc or panic
 	 */
 	if (have_addr) {
@@ -489,17 +489,17 @@ db_stack_trace_print(
 	(*pr)(" ESP = 0x%x\n", (unsigned int)(pcb->ESP));
 	(*pr)(" SSP = 0x%x\n", (unsigned int)(pcb->SSP));
 	(*pr)(" USP = 0x%x\n", (unsigned int)(pcb->USP));
-	(*pr)(" R[00] = 0x%08x	  R[06] = 0x%08x\n", 
+	(*pr)(" R[00] = 0x%08x	  R[06] = 0x%08x\n",
 		(unsigned int)(pcb->R[0]), (unsigned int)(pcb->R[6]));
-	(*pr)(" R[01] = 0x%08x	  R[07] = 0x%08x\n", 
+	(*pr)(" R[01] = 0x%08x	  R[07] = 0x%08x\n",
 		(unsigned int)(pcb->R[1]), (unsigned int)(pcb->R[7]));
-	(*pr)(" R[02] = 0x%08x	  R[08] = 0x%08x\n", 
+	(*pr)(" R[02] = 0x%08x	  R[08] = 0x%08x\n",
 		(unsigned int)(pcb->R[2]), (unsigned int)(pcb->R[8]));
-	(*pr)(" R[03] = 0x%08x	  R[09] = 0x%08x\n", 
+	(*pr)(" R[03] = 0x%08x	  R[09] = 0x%08x\n",
 		(unsigned int)(pcb->R[3]), (unsigned int)(pcb->R[9]));
-	(*pr)(" R[04] = 0x%08x	  R[10] = 0x%08x\n", 
+	(*pr)(" R[04] = 0x%08x	  R[10] = 0x%08x\n",
 		(unsigned int)(pcb->R[4]), (unsigned int)(pcb->R[10]));
-	(*pr)(" R[05] = 0x%08x	  R[11] = 0x%08x\n", 
+	(*pr)(" R[05] = 0x%08x	  R[11] = 0x%08x\n",
 		(unsigned int)(pcb->R[5]), (unsigned int)(pcb->R[11]));
 	(*pr)(" AP = 0x%x\n", (unsigned int)(pcb->AP));
 	(*pr)(" FP = 0x%x\n", (unsigned int)(pcb->FP));
@@ -509,7 +509,7 @@ db_stack_trace_print(
 	db_dump_stack((VAX_CALLFRAME *)(pcb->FP), (u_int)pcb->KSP, pr);
 	return;
 #if 0
-	while (((u_int)(cur_frame->vax_fp) > stackbase) && 
+	while (((u_int)(cur_frame->vax_fp) > stackbase) &&
 			((u_int)(cur_frame->vax_fp) < (stackbase + USPACE))) {
 		u_int nargs;
 		VAX_CALLFRAME *tmp_frame;
@@ -597,7 +597,7 @@ kdbrint(int tkn)
 		ddbescape = 0;
 		return 2;
 	}
-	
+
 	ddbescape = 0;
 	return 0;
 }

Index: src/sys/arch/x86/x86/intr.c
diff -u src/sys/arch/x86/x86/intr.c:1.161 src/sys/arch/x86/x86/intr.c:1.162
--- src/sys/arch/x86/x86/intr.c:1.161	Wed Sep  7 00:40:19 2022
+++ src/sys/arch/x86/x86/intr.c	Wed Oct 26 23:38:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: intr.c,v 1.161 2022/09/07 00:40:19 knakahara Exp $	*/
+/*	$NetBSD: intr.c,v 1.162 2022/10/26 23:38:09 riastradh Exp $	*/
 
 /*
  * Copyright (c) 2007, 2008, 2009, 2019 The NetBSD Foundation, Inc.
@@ -133,7 +133,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.161 2022/09/07 00:40:19 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.162 2022/10/26 23:38:09 riastradh Exp $");
 
 #include "opt_intrdebug.h"
 #include "opt_multiprocessor.h"
@@ -196,6 +196,8 @@ extern void Xrecurse_hyperv_hypercall(vo
 #define msipic_is_msi_pic(PIC)	(false)
 #endif
 
+#include <ddb/db_active.h>
+
 #ifdef DDB
 #include <ddb/db_output.h>
 #endif
@@ -1413,7 +1415,6 @@ intr_printconfig(void)
 
 	pr = printf;
 #ifdef DDB
-	extern int db_active;
 	if (db_active) {
 		pr = db_printf;
 	}

Index: src/sys/dev/ic/com.c
diff -u src/sys/dev/ic/com.c:1.378 src/sys/dev/ic/com.c:1.379
--- src/sys/dev/ic/com.c:1.378	Mon Oct  3 20:15:50 2022
+++ src/sys/dev/ic/com.c	Wed Oct 26 23:38:09 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: com.c,v 1.378 2022/10/03 20:15:50 riastradh Exp $ */
+/* $NetBSD: com.c,v 1.379 2022/10/26 23:38:09 riastradh Exp $ */
 
 /*-
  * Copyright (c) 1998, 1999, 2004, 2008 The NetBSD Foundation, Inc.
@@ -70,7 +70,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: com.c,v 1.378 2022/10/03 20:15:50 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: com.c,v 1.379 2022/10/26 23:38:09 riastradh Exp $");
 
 #include "opt_com.h"
 #include "opt_ddb.h"
@@ -119,9 +119,10 @@ __KERNEL_RCSID(0, "$NetBSD: com.c,v 1.37
 #include <sys/rndsource.h>
 #endif
 
-
 #include <sys/bus.h>
 
+#include <ddb/db_active.h>
+
 #include <dev/ic/comreg.h>
 #include <dev/ic/comvar.h>
 #include <dev/ic/ns16550reg.h>
@@ -2516,10 +2517,7 @@ com_common_getc(dev_t dev, struct com_re
 	stat = CSR_READ_1(regsp, COM_REG_IIR);
 	{
 		int cn_trapped = 0;	/* required by cn_trap, see above */
-#ifdef DDB
-		extern int db_active;
 		if (!db_active)
-#endif
 			cn_check_magic(dev, c, com_cnm_state);
 	}
 	splx(s);

Index: src/sys/external/bsd/drm2/include/linux/kgdb.h
diff -u src/sys/external/bsd/drm2/include/linux/kgdb.h:1.3 src/sys/external/bsd/drm2/include/linux/kgdb.h:1.4
--- src/sys/external/bsd/drm2/include/linux/kgdb.h:1.3	Sun Dec 19 10:58:37 2021
+++ src/sys/external/bsd/drm2/include/linux/kgdb.h	Wed Oct 26 23:38:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: kgdb.h,v 1.3 2021/12/19 10:58:37 riastradh Exp $	*/
+/*	$NetBSD: kgdb.h,v 1.4 2022/10/26 23:38:09 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -32,28 +32,14 @@
 #ifndef _LINUX_KGDB_H_
 #define _LINUX_KGDB_H_
 
-#include <sys/types.h>
+#include <sys/stdbool.h>
 
-#ifdef _KERNEL_OPT		/* XXX */
-#include "opt_ddb.h"
-#else
-#define	DDB
-#endif
-
-#ifdef DDB
-extern int	db_active;
+#include <ddb/db_active.h>
 
 static inline bool
 in_dbg_master(void)
 {
 	return db_active;
 }
-#else
-static inline bool
-in_dbg_master(void)
-{
-	return false;
-}
-#endif
 
 #endif  /* _LINUX_KGDB_H_ */

Index: src/sys/kern/subr_msan.c
diff -u src/sys/kern/subr_msan.c:1.17 src/sys/kern/subr_msan.c:1.18
--- src/sys/kern/subr_msan.c:1.17	Sat Sep 11 10:09:55 2021
+++ src/sys/kern/subr_msan.c	Wed Oct 26 23:38:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: subr_msan.c,v 1.17 2021/09/11 10:09:55 riastradh Exp $	*/
+/*	$NetBSD: subr_msan.c,v 1.18 2022/10/26 23:38:09 riastradh Exp $	*/
 
 /*
  * Copyright (c) 2019-2020 Maxime Villard, m00nbsd.net
@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: subr_msan.c,v 1.17 2021/09/11 10:09:55 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: subr_msan.c,v 1.18 2022/10/26 23:38:09 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -45,6 +45,8 @@ __KERNEL_RCSID(0, "$NetBSD: subr_msan.c,
 #include <sys/cpu.h>
 #include <sys/msan.h>
 
+#include <ddb/db_active.h>
+
 static void kmsan_printf(const char *, ...);
 
 void kmsan_init_arg(size_t);
@@ -145,7 +147,6 @@ static void
 kmsan_report_hook(const void *addr, size_t size, size_t off, const char *hook)
 {
 	const char *mod, *sym;
-	extern int db_active;
 	msan_orig_t *orig;
 	const char *typename;
 	char *var, *fn;
@@ -205,7 +206,6 @@ static void
 kmsan_report_inline(msan_orig_t orig, unsigned long pc)
 {
 	const char *mod, *sym;
-	extern int db_active;
 	const char *typename;
 	char *var, *fn;
 	uintptr_t ptr;

Index: src/sys/kern/uipc_socket2.c
diff -u src/sys/kern/uipc_socket2.c:1.141 src/sys/kern/uipc_socket2.c:1.142
--- src/sys/kern/uipc_socket2.c:1.141	Sat Apr  9 23:52:23 2022
+++ src/sys/kern/uipc_socket2.c	Wed Oct 26 23:38:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: uipc_socket2.c,v 1.141 2022/04/09 23:52:23 riastradh Exp $	*/
+/*	$NetBSD: uipc_socket2.c,v 1.142 2022/10/26 23:38:09 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -58,7 +58,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uipc_socket2.c,v 1.141 2022/04/09 23:52:23 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uipc_socket2.c,v 1.142 2022/10/26 23:38:09 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ddb.h"
@@ -85,6 +85,7 @@ __KERNEL_RCSID(0, "$NetBSD: uipc_socket2
 
 #ifdef DDB
 #include <sys/filedesc.h>
+#include <ddb/db_active.h>
 #endif
 
 /*
@@ -1596,7 +1597,6 @@ sowait(struct socket *so, bool catch_p, 
 static inline int
 db_mutex_enter(kmutex_t *mtx)
 {
-	extern int db_active;
 	int rv;
 
 	if (!db_active) {

Index: src/sys/uvm/uvm_page.c
diff -u src/sys/uvm/uvm_page.c:1.250 src/sys/uvm/uvm_page.c:1.251
--- src/sys/uvm/uvm_page.c:1.250	Sun Dec 20 11:11:34 2020
+++ src/sys/uvm/uvm_page.c	Wed Oct 26 23:38:09 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: uvm_page.c,v 1.250 2020/12/20 11:11:34 skrll Exp $	*/
+/*	$NetBSD: uvm_page.c,v 1.251 2022/10/26 23:38:09 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2019, 2020 The NetBSD Foundation, Inc.
@@ -95,7 +95,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_page.c,v 1.250 2020/12/20 11:11:34 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_page.c,v 1.251 2022/10/26 23:38:09 riastradh Exp $");
 
 #include "opt_ddb.h"
 #include "opt_uvm.h"
@@ -112,6 +112,8 @@ __KERNEL_RCSID(0, "$NetBSD: uvm_page.c,v
 #include <sys/atomic.h>
 #include <sys/cpu.h>
 
+#include <ddb/db_active.h>
+
 #include <uvm/uvm.h>
 #include <uvm/uvm_ddb.h>
 #include <uvm/uvm_pdpolicy.h>
@@ -1756,13 +1758,8 @@ struct vm_page *
 uvm_pagelookup(struct uvm_object *obj, voff_t off)
 {
 	struct vm_page *pg;
-	bool ddb __diagused = false;
-#ifdef DDB
-	extern int db_active;
-	ddb = db_active != 0;
-#endif
 
-	KASSERT(ddb || rw_lock_held(obj->vmobjlock));
+	KASSERT(db_active || rw_lock_held(obj->vmobjlock));
 
 	pg = radix_tree_lookup_node(&obj->uo_pages, off >> PAGE_SHIFT);
 

Added files:

Index: src/sys/ddb/db_active.h
diff -u /dev/null src/sys/ddb/db_active.h:1.1
--- /dev/null	Wed Oct 26 23:38:10 2022
+++ src/sys/ddb/db_active.h	Wed Oct 26 23:38:09 2022
@@ -0,0 +1,44 @@
+/*	$NetBSD: db_active.h,v 1.1 2022/10/26 23:38:09 riastradh Exp $	*/
+
+/*-
+ * Copyright (c) 2022 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef	_DDB_DB_ACTIVE_H_
+#define	_DDB_DB_ACTIVE_H_
+
+#ifdef _KERNEL_OPT
+#include "opt_ddb.h"
+#endif
+
+#include <sys/cdefs.h>
+
+#ifdef DDB
+extern int db_active;
+#else
+static const int db_active __unused = 0;
+#endif
+
+#endif	/* _DDB_DB_ACTIVE_H_ */

Reply via email to