lkml.org 
[lkml]   [2008]   [Nov]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] x86: make NR_IRQS on 32bit is same to 64bit


Impact: so NR_IRQS is bigger enough for system with lots of apic/pins

Now: if IO_APIC is there, will have big NR_IRQS

otherwise still use 224

Signed-off-by: Yinghai <yinghai@kernel.org>

---
arch/x86/include/asm/irq_vectors.h | 20 ++++++--------------
1 file changed, 6 insertions(+), 14 deletions(-)
Index: linux-2.6/arch/x86/include/asm/irq_vectors.h
===================================================================
--- linux-2.6.orig/arch/x86/include/asm/irq_vectors.h
+++ linux-2.6/arch/x86/include/asm/irq_vectors.h
@@ -101,30 +101,22 @@
#define LAST_VM86_IRQ 15
#define invalid_vm86_irq(irq) ((irq) < 3 || (irq) > 15)

-#ifdef CONFIG_X86_64
+#if defined(CONFIG_X86_IO_APIC) && !defined(CONFIG_PARAVIRT) && !defined(CONFIG_X86_VISWS) && !defined(CONFIG_X86_VOYAGER)
# if NR_CPUS < MAX_IO_APICS
# define NR_IRQS (NR_VECTORS + (32 * NR_CPUS))
# else
# define NR_IRQS (NR_VECTORS + (32 * MAX_IO_APICS))
# endif

-#elif !defined(CONFIG_X86_VOYAGER)
+#elif defined(CONFIG_PARAVIRT) || defined(CONFIG_X86_VISWS) || defined(CONFIG_X86_VOYAGER)

-# if defined(CONFIG_X86_IO_APIC) || defined(CONFIG_PARAVIRT) || defined(CONFIG_X86_VISWS)
-
-# define NR_IRQS 224
-
-# else /* IO_APIC || PARAVIRT */
-
-# define NR_IRQS 16
-
-# endif
+# define NR_IRQS 224

-#else /* !VISWS && !VOYAGER */
+#else /* IO_APIC || PARAVIRT */

-# define NR_IRQS 224
+# define NR_IRQS 16

-#endif /* VISWS */
+#endif

/* Voyager specific defines */
/* These define the CPIs we use in linux */

\
 
 \ /
  Last update: 2008-11-04 23:15    [W:0.098 / U:0.464 seconds]
©2003-2011 Jasper Spaans. Advertise on this site