summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/mips/shared/interrupts/maxvectors.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libcpu/mips/shared/interrupts/maxvectors.c')
-rw-r--r--c/src/lib/libcpu/mips/shared/interrupts/maxvectors.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/c/src/lib/libcpu/mips/shared/interrupts/maxvectors.c b/c/src/lib/libcpu/mips/shared/interrupts/maxvectors.c
index 730a1898f2..64f77317f7 100644
--- a/c/src/lib/libcpu/mips/shared/interrupts/maxvectors.c
+++ b/c/src/lib/libcpu/mips/shared/interrupts/maxvectors.c
@@ -14,14 +14,29 @@
/*
- * The tx3904 attaches 4 of the eight interrupt bits to an on-CPU interrupt
- * controller so that these four bits map to 16 unique interrupts.
- * So you have: 2 software interrupts, an NMI, and 16 others.
+ * The Toshiba TX3904 attaches 4 of the eight interrupt bits to an
+ * on-CPU interrupt controller so that these four bits map to 16
+ * unique interrupts. So you have: 2 software interrupts, an NMI,
+ * and 16 others.
*/
+
#if defined(TX39)
#define MAX_VECTORS 19
#endif
+/*
+ * The Synova Mongoose-V attached one of the eight interrupt bits
+ * to a Peripheral Function Interrupt Cause Register on-CPU.
+ * This results in: 2 software interrupts, 5 interrupts
+ * through the IP bits, and 32 more from the PFICR. Some of
+ * these are reserved but for simplicity in processing, we
+ * reserve slots for those bits anyway.
+ */
+
+#if defined(MONGOOSEV)
+#define MAX_VECTORS 37
+#endif
+
#ifndef MAX_VECTORS
#define MAX_VECTORS 8
#endif