Module Name:    src
Committed By:   matt
Date:           Sun May 16 00:34:45 UTC 2010

Modified Files:
        src/sys/arch/evbmips/malta [matt-nb5-mips64]: malta_intr.c
        src/sys/arch/mips/include [matt-nb5-mips64]: intr.h
        src/sys/arch/mips/mips [matt-nb5-mips64]: spl.S
        src/sys/arch/sbmips/sbmips [matt-nb5-mips64]: sb1250_icu.c

Log Message:
Add IPL_DDB.  This is needed for watchdog on sbmips and for IPIs used by DDB.
It's above IPL_SCHED but below IPL_HIGH.


To generate a diff of this commit:
cvs rdiff -u -r1.19.16.6 -r1.19.16.7 src/sys/arch/evbmips/malta/malta_intr.c
cvs rdiff -u -r1.3.96.11 -r1.3.96.12 src/sys/arch/mips/include/intr.h
cvs rdiff -u -r1.1.2.5 -r1.1.2.6 src/sys/arch/mips/mips/spl.S
cvs rdiff -u -r1.9.36.13 -r1.9.36.14 src/sys/arch/sbmips/sbmips/sb1250_icu.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/evbmips/malta/malta_intr.c
diff -u src/sys/arch/evbmips/malta/malta_intr.c:1.19.16.6 src/sys/arch/evbmips/malta/malta_intr.c:1.19.16.7
--- src/sys/arch/evbmips/malta/malta_intr.c:1.19.16.6	Sun Feb 28 03:32:23 2010
+++ src/sys/arch/evbmips/malta/malta_intr.c	Sun May 16 00:34:45 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: malta_intr.c,v 1.19.16.6 2010/02/28 03:32:23 matt Exp $	*/
+/*	$NetBSD: malta_intr.c,v 1.19.16.7 2010/05/16 00:34:45 matt Exp $	*/
 
 /*
  * Copyright 2001, 2002 Wasabi Systems, Inc.
@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: malta_intr.c,v 1.19.16.6 2010/02/28 03:32:23 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: malta_intr.c,v 1.19.16.7 2010/05/16 00:34:45 matt Exp $");
 
 #define	__INTR_PRIVATE
 
@@ -71,7 +71,9 @@
 	[IPL_SOFTCLOCK] =	MIPS_SOFT_INT_MASK_0,
 	[IPL_SOFTNET] =		MIPS_SOFT_INT_MASK,
 	[IPL_VM] =		MIPS_SOFT_INT_MASK | MIPS_INT_MASK_0,
-	[IPL_SCHED] =		MIPS_INT_MASK,
+	[IPL_SCHED] =		MIPS_SOFT_INT_MASK | MIPS_INT_MASK_0
+				    | MIPS_INT_MASK_5,
+	[IPL_DDB] =		MIPS_INT_MASK,
 	[IPL_HIGH] =		MIPS_INT_MASK,
     },
 };

Index: src/sys/arch/mips/include/intr.h
diff -u src/sys/arch/mips/include/intr.h:1.3.96.11 src/sys/arch/mips/include/intr.h:1.3.96.12
--- src/sys/arch/mips/include/intr.h:1.3.96.11	Sat May 15 23:11:38 2010
+++ src/sys/arch/mips/include/intr.h	Sun May 16 00:34:45 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: intr.h,v 1.3.96.11 2010/05/15 23:11:38 matt Exp $ */
+/* $NetBSD: intr.h,v 1.3.96.12 2010/05/16 00:34:45 matt Exp $ */
 /*-
  * Copyright (c) 2009, 2010 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -42,7 +42,8 @@
 #define	IPL_SOFTSERIAL	(IPL_SOFTNET)	/* shares SWINT with softnet */
 #define	IPL_VM		(IPL_SOFTSERIAL+1)
 #define	IPL_SCHED	(IPL_VM+1)
-#define	IPL_HIGH	(IPL_SCHED)
+#define	IPL_DDB		(IPL_SCHED+1)
+#define	IPL_HIGH	(IPL_DDB+1)
 
 #define	_IPL_N		(IPL_HIGH+1)
 
@@ -83,7 +84,7 @@
 };
 
 struct ipl_sr_map {
-	uint32_t sr_bits[_IPL_N+1];
+	uint32_t sr_bits[_IPL_N];
 };
 #else
 struct splsw;

Index: src/sys/arch/mips/mips/spl.S
diff -u src/sys/arch/mips/mips/spl.S:1.1.2.5 src/sys/arch/mips/mips/spl.S:1.1.2.6
--- src/sys/arch/mips/mips/spl.S:1.1.2.5	Tue Apr 20 22:08:13 2010
+++ src/sys/arch/mips/mips/spl.S	Sun May 16 00:34:45 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: spl.S,v 1.1.2.5 2010/04/20 22:08:13 matt Exp $	*/
+/*	$NetBSD: spl.S,v 1.1.2.6 2010/05/16 00:34:45 matt Exp $	*/
 
 /*-
  * Copyright (c) 2009, 2010 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
 #include <mips/asm.h>
 #include <mips/cpuregs.h>
 
-RCSID("$NetBSD: spl.S,v 1.1.2.5 2010/04/20 22:08:13 matt Exp $")
+RCSID("$NetBSD: spl.S,v 1.1.2.6 2010/05/16 00:34:45 matt Exp $")
 
 #include "assym.h"
 
@@ -51,9 +51,8 @@
 	.word	MIPS_SOFT_INT_MASK	/* IPL_SOFT{NET,SERIAL} */
 	.word	MIPS_INT_MASK		/* IPL_VM */
 	.word	MIPS_INT_MASK		/* IPL_SCHED */
-#if IPL_SCHED != IPL_HIGH
+	.word	MIPS_INT_MASK		/* IPL_DDB */
 	.word	MIPS_INT_MASK		/* IPL_HIGH */
-#endif
 
 	.text
 /*
@@ -237,6 +236,13 @@
 	 nop
 END(_splsw_splhigh)
 
+STATIC_LEAF(_splsw_splddb)
+	INT_L	a0, _C_LABEL(ipl_sr_map) + 4*IPL_DDB
+	li	a1, IPL_DDB
+	b	_splraise
+	 nop
+END(_splsw_splddb)
+
 STATIC_LEAF(_splsw_splsched)
 	INT_L	a0, _C_LABEL(ipl_sr_map) + 4*IPL_SCHED
 	li	a1, IPL_SCHED

Index: src/sys/arch/sbmips/sbmips/sb1250_icu.c
diff -u src/sys/arch/sbmips/sbmips/sb1250_icu.c:1.9.36.13 src/sys/arch/sbmips/sbmips/sb1250_icu.c:1.9.36.14
--- src/sys/arch/sbmips/sbmips/sb1250_icu.c:1.9.36.13	Sat May 15 06:22:38 2010
+++ src/sys/arch/sbmips/sbmips/sb1250_icu.c	Sun May 16 00:34:45 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: sb1250_icu.c,v 1.9.36.13 2010/05/15 06:22:38 matt Exp $ */
+/* $NetBSD: sb1250_icu.c,v 1.9.36.14 2010/05/16 00:34:45 matt Exp $ */
 
 /*
  * Copyright 2000, 2001
@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sb1250_icu.c,v 1.9.36.13 2010/05/15 06:22:38 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sb1250_icu.c,v 1.9.36.14 2010/05/16 00:34:45 matt Exp $");
 
 #define	__INTR_PRIVATE
 
@@ -56,21 +56,19 @@
 
 static const struct ipl_sr_map sb1250_ipl_sr_map = {
     .sr_bits = {
-	[IPL_NONE]	=	0,
-	[IPL_SOFTCLOCK]	=	MIPS_SOFT_INT_MASK_0,
-	[IPL_SOFTBIO]	=	MIPS_SOFT_INT_MASK_0,
-	[IPL_SOFTNET]	=	MIPS_SOFT_INT_MASK,
-	[IPL_SOFTSERIAL] =	MIPS_SOFT_INT_MASK,
-	[IPL_VM]	=	MIPS_SOFT_INT_MASK | MIPS_INT_MASK_0,
-#if IPL_SCHED < IPL_HIGH
+	[IPL_NONE]	=	MIPS_INT_MASK_5,
+	[IPL_SOFTCLOCK]	=	MIPS_SOFT_INT_MASK_0 | MIPS_INT_MASK_5,
+	[IPL_SOFTBIO]	=	MIPS_SOFT_INT_MASK_0 | MIPS_INT_MASK_5,
+	[IPL_SOFTNET]	=	MIPS_SOFT_INT_MASK | MIPS_INT_MASK_5,
+	[IPL_SOFTSERIAL] =	MIPS_SOFT_INT_MASK | MIPS_INT_MASK_5,
+	[IPL_VM]	=	MIPS_SOFT_INT_MASK | MIPS_INT_MASK_0
+				    | MIPS_INT_MASK_5,
 	[IPL_SCHED]	=	MIPS_SOFT_INT_MASK | MIPS_INT_MASK_0
 			  	    | MIPS_INT_MASK_1 | MIPS_INT_MASK_5,
-#endif
-	[IPL_HIGH]	=	MIPS_SOFT_INT_MASK | MIPS_INT_MASK_0
-			  	    | MIPS_INT_MASK_1 | MIPS_INT_MASK_5,
-#if 0
+	[IPL_DDB]	=	MIPS_SOFT_INT_MASK | MIPS_INT_MASK_0
+			  	    | MIPS_INT_MASK_1 | MIPS_INT_MASK_4
+			  	    | MIPS_INT_MASK_5,
 	[IPL_HIGH]	=	MIPS_INT_MASK,
-#endif
     },
 };
 

Reply via email to