[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 3/3] x86: make NR_IRQS build-time configurable



While keeping the NR_IRQS default at 256 here, I think it would be a
good thing to set it to a higher value to make sure no new mixing of
irq and vector spaces slip in.

Tested with NR_IRQS forced to 1024.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

Index: 2008-11-20/xen/Rules.mk
===================================================================
--- 2008-11-20.orig/xen/Rules.mk        2008-11-19 15:54:15.000000000 +0100
+++ 2008-11-20/xen/Rules.mk     2008-11-20 08:48:26.000000000 +0100
@@ -69,6 +69,9 @@ CFLAGS-$(frame_pointer) += -fno-omit-fra
 ifneq ($(max_phys_cpus),)
 CFLAGS-y                += -DMAX_PHYS_CPUS=$(max_phys_cpus)
 endif
+ifneq ($(max_phys_irqs),)
+CFLAGS-y                += -DMAX_PHYS_IRQS=$(max_phys_irqs)
+endif
 
 AFLAGS-y                += -D__ASSEMBLY__
 
Index: 2008-11-20/xen/include/asm-x86/config.h
===================================================================
--- 2008-11-20.orig/xen/include/asm-x86/config.h        2008-11-05 
16:54:22.000000000 +0100
+++ 2008-11-20/xen/include/asm-x86/config.h     2008-11-20 08:48:26.000000000 
+0100
@@ -51,6 +51,12 @@
 #define NR_CPUS 32
 #endif
 
+#ifdef MAX_PHYS_IRQS
+#define NR_IRQS MAX_PHYS_IRQS
+#else
+#define NR_IRQS 256
+#endif
+
 #if defined(__i386__) && (NR_CPUS > 32)
 #error "Maximum of 32 physical processors supported by Xen on x86_32"
 #endif
Index: 2008-11-20/xen/include/asm-x86/domain.h
===================================================================
--- 2008-11-20.orig/xen/include/asm-x86/domain.h        2008-11-19 
17:37:33.000000000 +0100
+++ 2008-11-20/xen/include/asm-x86/domain.h     2008-11-20 08:48:26.000000000 
+0100
@@ -236,7 +236,7 @@ struct arch_domain
 
     /* NB. protected by d->event_lock and by irq_desc[vector].lock */
     int vector_pirq[NR_VECTORS];
-    int pirq_vector[NR_IRQS];
+    s16 pirq_vector[NR_IRQS];
 
     /* Pseudophysical e820 map (XENMEM_memory_map).  */
     struct e820entry e820[3];
Index: 2008-11-20/xen/include/asm-x86/mach-default/irq_vectors.h
===================================================================
--- 2008-11-20.orig/xen/include/asm-x86/mach-default/irq_vectors.h      
2008-11-20 08:47:52.000000000 +0100
+++ 2008-11-20/xen/include/asm-x86/mach-default/irq_vectors.h   2008-11-20 
08:48:26.000000000 +0100
@@ -30,7 +30,4 @@
 
 #define NR_VECTORS 256
 
-/* Limited by number of trap vectors. */
-#define NR_IRQS        NR_VECTORS
-
 #endif /* _ASM_IRQ_VECTORS_H */




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.