Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Jan 2010 14:01:16 +0000 (UTC)
From:      Randall Stewart <rrs@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r203112 - head/sys/mips/rmi
Message-ID:  <201001281401.o0SE1GLb058864@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rrs
Date: Thu Jan 28 14:01:16 2010
New Revision: 203112
URL: http://svn.freebsd.org/changeset/base/203112

Log:
  Changes the msg ring so its a filter not a
  handler. Somehow rrs missed this.. Thanks
  to JC for catching this ;-)
  
  Obtained from:	JC (jayachandranc@netlogicmicro.com

Modified:
  head/sys/mips/rmi/on_chip.c
  head/sys/mips/rmi/xlr_machdep.c

Modified: head/sys/mips/rmi/on_chip.c
==============================================================================
--- head/sys/mips/rmi/on_chip.c	Thu Jan 28 10:50:09 2010	(r203111)
+++ head/sys/mips/rmi/on_chip.c	Thu Jan 28 14:01:16 2010	(r203112)
@@ -27,6 +27,8 @@
  * SUCH DAMAGE.
  *
  * RMI_BSD */
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
 #include <sys/types.h>
 #include <sys/systm.h>
 #include <sys/param.h>
@@ -272,9 +274,9 @@ register_msgring_handler(int major,
 	if (xlr_test_and_set(&msgring_int_enabled)) {
 		platform_prep_smp_launch();
 
-		cpu_establish_hardintr("msgring", (driver_filter_t *) NULL,
-		    (driver_intr_t *) msgring_process_fast_intr,
-		    NULL, IRQ_MSGRING, INTR_TYPE_NET | INTR_FAST, &cookie);
+		cpu_establish_hardintr("msgring", (driver_filter_t *) msgring_process_fast_intr,
+			NULL, NULL, IRQ_MSGRING, 
+			INTR_TYPE_NET | INTR_FAST, &cookie);
 
 		/* configure the msgring interrupt on cpu 0 */
 		enable_msgring_int(NULL);

Modified: head/sys/mips/rmi/xlr_machdep.c
==============================================================================
--- head/sys/mips/rmi/xlr_machdep.c	Thu Jan 28 10:50:09 2010	(r203111)
+++ head/sys/mips/rmi/xlr_machdep.c	Thu Jan 28 14:01:16 2010	(r203112)
@@ -583,7 +583,7 @@ disable_msgring_int(void *arg);
 void 
 enable_msgring_int(void *arg);
 void xlr_msgring_handler(struct trapframe *tf);
-void msgring_process_fast_intr(void *arg);
+int msgring_process_fast_intr(void *arg);
 
 struct msgring_ithread {
 	struct thread *i_thread;
@@ -594,7 +594,7 @@ struct msgring_ithread {
 struct msgring_ithread msgring_ithreads[MAXCPU];
 char ithd_name[MAXCPU][32];
 
-void
+int
 msgring_process_fast_intr(void *arg)
 {
 	int cpu = PCPU_GET(cpuid);
@@ -617,6 +617,7 @@ msgring_process_fast_intr(void *arg)
 		sched_add(td, SRQ_INTR);
 	}
 	thread_unlock(td);
+	return FILTER_HANDLED;
 }
 
 static void



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001281401.o0SE1GLb058864>