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

[Xen-changelog] [xen-unstable] x86: make NR_IRQS build-time configurable



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1227191039 0
# Node ID e7da388ff95de8e17ad2d92989d5c375411bc5ad
# Parent  935bd48f096ad79954a5ceef60b2dc19ebb9bc3a
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>
---
 xen/Rules.mk                                   |    3 +++
 xen/include/asm-x86/config.h                   |    6 ++++++
 xen/include/asm-x86/domain.h                   |    2 +-
 xen/include/asm-x86/mach-default/irq_vectors.h |    3 ---
 4 files changed, 10 insertions(+), 4 deletions(-)

diff -r 935bd48f096a -r e7da388ff95d xen/Rules.mk
--- a/xen/Rules.mk      Thu Nov 20 14:23:33 2008 +0000
+++ b/xen/Rules.mk      Thu Nov 20 14:23:59 2008 +0000
@@ -69,6 +69,9 @@ ifneq ($(max_phys_cpus),)
 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__
 
diff -r 935bd48f096a -r e7da388ff95d xen/include/asm-x86/config.h
--- a/xen/include/asm-x86/config.h      Thu Nov 20 14:23:33 2008 +0000
+++ b/xen/include/asm-x86/config.h      Thu Nov 20 14:23:59 2008 +0000
@@ -49,6 +49,12 @@
 #define NR_CPUS MAX_PHYS_CPUS
 #else
 #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)
diff -r 935bd48f096a -r e7da388ff95d xen/include/asm-x86/domain.h
--- a/xen/include/asm-x86/domain.h      Thu Nov 20 14:23:33 2008 +0000
+++ b/xen/include/asm-x86/domain.h      Thu Nov 20 14:23:59 2008 +0000
@@ -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];
diff -r 935bd48f096a -r e7da388ff95d 
xen/include/asm-x86/mach-default/irq_vectors.h
--- a/xen/include/asm-x86/mach-default/irq_vectors.h    Thu Nov 20 14:23:33 
2008 +0000
+++ b/xen/include/asm-x86/mach-default/irq_vectors.h    Thu Nov 20 14:23:59 
2008 +0000
@@ -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-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

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