From: Tomas Hruby Date: Thu, 2 Sep 2010 15:43:54 +0000 (+0000) Subject: Kernel supports up to 64 IRQs X-Git-Tag: v3.1.8~22 X-Git-Url: http://zhaoyanbai.com/repos/%22http:/www.isc.org/icons/zpipe.c?a=commitdiff_plain;h=344e9221ec9fd127c8bceff587f77b316a0b485e;p=minix.git Kernel supports up to 64 IRQs - enough for 2 io apics (usually with 24 pins) --- diff --git a/include/arch/i386/interrupt.h b/include/arch/i386/interrupt.h index c33c62f19..01311979c 100644 --- a/include/arch/i386/interrupt.h +++ b/include/arch/i386/interrupt.h @@ -35,7 +35,11 @@ #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 */ diff --git a/include/minix/type.h b/include/minix/type.h index 508c48dc4..97f59dfe7 100644 --- a/include/minix/type.h +++ b/include/minix/type.h @@ -182,7 +182,7 @@ struct kmessages { #include /* 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; diff --git a/kernel/config.h b/kernel/config.h index 63d59f25c..31dbd3792 100644 --- a/kernel/config.h +++ b/kernel/config.h @@ -57,7 +57,11 @@ * 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. */