svn commit: r203112 - head/sys/mips/rmi
Randall Stewart
rrs at FreeBSD.org
Thu Jan 28 14:01:17 UTC 2010
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 at 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
More information about the svn-src-head
mailing list