public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86: 64bit support more than 256 irq v2
@ 2008-08-02  2:02 Yinghai Lu
  2008-08-02  2:16 ` Yinghai Lu
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Yinghai Lu @ 2008-08-02  2:02 UTC (permalink / raw)
  To: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Eric W. Biederman,
	Dhaval Giani, Mike Travis, Andrew Morton
  Cc: linux-kernel, Yinghai Lu

Dhaval Giani got:
kernel BUG at arch/x86/kernel/io_apic_64.c:357!
invalid opcode: 0000 [1] SMP
CPU 24
...

his system (x3950) has 8 ioapic, irq > 256

caused by
        commit 9b7dc567d03d74a1fbae84e88949b6a60d922d82
        Author: Thomas Gleixner <tglx@linutronix.de>
        Date:   Fri May 2 20:10:09 2008 +0200

           x86: unify interrupt vector defines

           The interrupt vector defines are copied 4 times around with minimal
           differences. Move them all into asm-x86/irq_vectors.h

because 64bit allow same vector for different cpu to serve different irq

need to create that array dynamically later

v2: change NR_IRQS to 1024

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Tested-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>

---
 include/asm-x86/irq_vectors.h |   12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)
Index: linux-2.6/include/asm-x86/irq_vectors.h
===================================================================
--- linux-2.6.orig/include/asm-x86/irq_vectors.h
+++ linux-2.6/include/asm-x86/irq_vectors.h
@@ -113,28 +113,22 @@
 
 # if defined(CONFIG_X86_IO_APIC) || defined(CONFIG_PARAVIRT) || defined(CONFIG_X86_VISWS)
 
-#  define NR_IRQS		224
-
-#  if (224 >= 32 * NR_CPUS)
-#   define NR_IRQ_VECTORS	NR_IRQS
-#  else
-#   define NR_IRQ_VECTORS	(32 * NR_CPUS)
-#  endif
+#define NR_IRQS			1024
 
 # else /* IO_APIC || PARAVIRT */
 
 #  define NR_IRQS		16
-#  define NR_IRQ_VECTORS	NR_IRQS
 
 # endif
 
 #else /* !VISWS && !VOYAGER */
 
 # define NR_IRQS		224
-# define NR_IRQ_VECTORS		NR_IRQS
 
 #endif /* VISWS */
 
+#define NR_IRQ_VECTORS		NR_IRQS
+
 /* Voyager specific defines */
 /* These define the CPIs we use in linux */
 #define VIC_CPI_LEVEL0			0

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2008-08-04 18:20 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-02  2:02 [PATCH] x86: 64bit support more than 256 irq v2 Yinghai Lu
2008-08-02  2:16 ` Yinghai Lu
2008-08-02  2:58   ` Eric W. Biederman
2008-08-02  3:11     ` Yinghai Lu
2008-08-02  3:37       ` Eric W. Biederman
2008-08-04 13:20     ` Mike Travis
2008-08-04 18:16       ` Yinghai Lu
2008-08-03  5:09 ` Eric W. Biederman
2008-08-03  5:26 ` [PATCH] x86_64: Restore the proper NR_IRQS define so larger systems work Eric W. Biederman
2008-08-03  5:58   ` Yinghai Lu
2008-08-03  6:35     ` Eric W. Biederman
2008-08-03  6:54       ` Jeremy Fitzhardinge
2008-08-03  6:44     ` Jeremy Fitzhardinge

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox