summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2004-12-23 20:34:18 +0000
committerjhb <jhb@FreeBSD.org>2004-12-23 20:34:18 +0000
commitb74bf1946f3bfb8c72732fabf275b27535881e21 (patch)
tree1a8da02eb1246a093f5cea284ffa5529c6b6d290 /sys/i386
parenta618275b13403f9bf275545c254a6ad694a98ac7 (diff)
downloadFreeBSD-src-b74bf1946f3bfb8c72732fabf275b27535881e21.zip
FreeBSD-src-b74bf1946f3bfb8c72732fabf275b27535881e21.tar.gz
Add a simple 'intrcnt_add' function that other MD code can use to add a
single named counter to the interrupt counts without having to fake up an entire interrupt source.
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/i386/intr_machdep.c11
-rw-r--r--sys/i386/include/intr_machdep.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/sys/i386/i386/intr_machdep.c b/sys/i386/i386/intr_machdep.c
index 97a3748..0c5f6af 100644
--- a/sys/i386/i386/intr_machdep.c
+++ b/sys/i386/i386/intr_machdep.c
@@ -286,6 +286,17 @@ intrcnt_register(struct intsrc *is)
is->is_straycount = &intrcnt[is->is_index + 1];
}
+void
+intrcnt_add(const char *name, u_long **countp)
+{
+
+ mtx_lock_spin(&intr_table_lock);
+ *countp = &intrcnt[intrcnt_index];
+ intrcnt_setname(name, intrcnt_index);
+ intrcnt_index++;
+ mtx_unlock_spin(&intr_table_lock);
+}
+
static void
intr_init(void *dummy __unused)
{
diff --git a/sys/i386/include/intr_machdep.h b/sys/i386/include/intr_machdep.h
index af9e672..a988063 100644
--- a/sys/i386/include/intr_machdep.h
+++ b/sys/i386/include/intr_machdep.h
@@ -100,6 +100,7 @@ int intr_register_source(struct intsrc *isrc);
int intr_remove_handler(void *cookie);
void intr_resume(void);
void intr_suspend(void);
+void intrcnt_add(const char *name, u_long **countp);
#endif /* !LOCORE */
#endif /* _KERNEL */
OpenPOWER on IntegriCloud