aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_intr.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_intr.c')
-rw-r--r--sys/kern/kern_intr.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/sys/kern/kern_intr.c b/sys/kern/kern_intr.c
index 9073e0d7af01..008f8d1242ca 100644
--- a/sys/kern/kern_intr.c
+++ b/sys/kern/kern_intr.c
@@ -1346,8 +1346,8 @@ ithread_loop(void *arg)
*
* Input:
* o ie: the event connected to this interrupt.
- * o frame: some archs (i.e. i386) pass a frame to some.
- * handlers as their main argument.
+ * o frame: the current trap frame.
+ *
* Return value:
* o 0: everything ok.
* o EINVAL: stray interrupt.
@@ -1374,9 +1374,6 @@ intr_event_handle(struct intr_event *ie, struct trapframe *frame)
/*
* Execute fast interrupt handlers directly.
- * To support clock handlers, if a handler registers
- * with a NULL argument, then we pass it a pointer to
- * a trapframe as its argument.
*/
td->td_intr_nesting_level++;
filter = false;
@@ -1405,12 +1402,8 @@ intr_event_handle(struct intr_event *ie, struct trapframe *frame)
continue;
}
CTR4(KTR_INTR, "%s: exec %p(%p) for %s", __func__,
- ih->ih_filter, ih->ih_argument == NULL ? frame :
- ih->ih_argument, ih->ih_name);
- if (ih->ih_argument == NULL)
- ret = ih->ih_filter(frame);
- else
- ret = ih->ih_filter(ih->ih_argument);
+ ih->ih_filter, ih->ih_argument, ih->ih_name);
+ ret = ih->ih_filter(ih->ih_argument);
#ifdef HWPMC_HOOKS
PMC_SOFT_CALL_TF( , , intr, all, frame);
#endif