Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel
In directory usw-pr-cvs1:/tmp/cvs-serv22500/kernel
Modified Files:
interrupt.c
Log Message:
added a get_irq_list function.. v. primitive ... need to add kernel stats
stuff
Index: interrupt.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/interrupt.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- interrupt.c 2001/02/22 23:55:27 1.9
+++ interrupt.c 2001/02/24 23:50:57 1.10
@@ -14,6 +14,7 @@
#include <linux/sched.h>
#include <linux/mm.h>
#include <linux/string.h>
+#include <linux/kernel_stat.h>
#include <asm/pgalloc.h>
#include <asm/scb.h>
@@ -615,3 +616,27 @@
return retval;
}
+int get_irq_list(char *buf)
+{
+ int i, len=0;
+ struct irqvector *vector;
+ unsigned char *inside_vec;
+
+ for (i=0; i<NR_IRQS; i++)
+ {
+ if (!scb_vec_free(i))
+ {
+ inside_vec = SCB_VECTOR(i);
+
+ /* We must mask off the bottom two bits. They have meaning to
+ to the hardware, and are not part of the actual target address */
+
+ inside_vec = (unsigned char *) ((unsigned long)(inside_vec) & ~0x3);
+
+ vector = (struct irqvector *)(inside_vec -
+ offsetof(struct irqvector, inst_jsb));
+ len += sprintf(buf+len, "%4d: %8d %s\n", vector->vec_num, 0, vector->action.name);
+ }
+ }
+ return len;
+}
|