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>