summaryrefslogtreecommitdiffstats
path: root/sys/mips
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2010-01-28 14:01:16 +0000
committerrrs <rrs@FreeBSD.org>2010-01-28 14:01:16 +0000
commit35fcb712f93a82f643a635770d2f6cd9bf2c617c (patch)
tree368e0da8a1e34664ff66cee9b2cf565f14020348 /sys/mips
parent72062fdcece91a123423691068781de9366fbfaa (diff)
downloadFreeBSD-src-35fcb712f93a82f643a635770d2f6cd9bf2c617c.zip
FreeBSD-src-35fcb712f93a82f643a635770d2f6cd9bf2c617c.tar.gz
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
Diffstat (limited to 'sys/mips')
-rw-r--r--sys/mips/rmi/on_chip.c8
-rw-r--r--sys/mips/rmi/xlr_machdep.c5
2 files changed, 8 insertions, 5 deletions
diff --git a/sys/mips/rmi/on_chip.c b/sys/mips/rmi/on_chip.c
index c0c73c4..cfab1d1 100644
--- a/sys/mips/rmi/on_chip.c
+++ b/sys/mips/rmi/on_chip.c
@@ -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);
diff --git a/sys/mips/rmi/xlr_machdep.c b/sys/mips/rmi/xlr_machdep.c
index ae95778..1dc1b3c 100644
--- a/sys/mips/rmi/xlr_machdep.c
+++ b/sys/mips/rmi/xlr_machdep.c
@@ -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
OpenPOWER on IntegriCloud