]> Zhao Yanbai Git Server - minix.git/commitdiff
Kernel supports up to 64 IRQs
authorTomas Hruby <tom@minix3.org>
Thu, 2 Sep 2010 15:43:54 +0000 (15:43 +0000)
committerTomas Hruby <tom@minix3.org>
Thu, 2 Sep 2010 15:43:54 +0000 (15:43 +0000)
- enough for 2 io apics (usually with 24 pins)

include/arch/i386/interrupt.h
include/minix/type.h
kernel/config.h

index c33c62f192275603a13083260ddac5517e5bcd95..01311979c2cd8c1841cdc3e5fb2e84a0b4c33156 100644 (file)
 #define IRQ8_VECTOR     0x70   /* no need to move IRQ8-15 */
 
 /* Hardware interrupt numbers. */
+#ifndef CONFIG_APIC
 #define NR_IRQ_VECTORS    16
+#else
+#define NR_IRQ_VECTORS    64
+#endif
 #define CLOCK_IRQ          0
 #define KEYBOARD_IRQ       1
 #define CASCADE_IRQ        2   /* cascade enable for 2nd AT controller */
index 508c48dc458c575e0b3df771a5bad1bf86d1a825..97f59dfe75aecc566d9be1762f0dbfb77d12a2c8 100644 (file)
@@ -182,7 +182,7 @@ struct kmessages {
 #include <machine/interrupt.h>
 
 /* randomness struct: random sources after interrupts: */
-#define RANDOM_SOURCES                 NR_IRQ_VECTORS
+#define RANDOM_SOURCES                 16
 #define RANDOM_ELEMENTS                        64
 
 typedef unsigned short rand_t;
index 63d59f25c5e08e8107e70f749089c131d68580d0..31dbd379290f675ac7c6f73ac5b5c671db8cdef6 100644 (file)
  * the maximum needed by any given driver. The number of interrupt hooks may
  * be incremented on systems with many device drivers. 
  */
+#ifndef CONFIG_APIC
 #define NR_IRQ_HOOKS     16            /* number of interrupt hooks */
+#else
+#define NR_IRQ_HOOKS     64            /* number of interrupt hooks */
+#endif
 #define VDEVIO_BUF_SIZE   64           /* max elements per VDEVIO request */
 
 /* How many bytes for the kernel stack. Space allocated in mpx.s. */