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
This commit is contained in:
parent
72062fdcec
commit
35fcb712f9
@ -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);
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user