diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-11-20 14:23:59 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-11-20 14:23:59 +0000 |
commit | 39bef5bcf02a72fc5552dd20c61ec7ea65c85054 (patch) | |
tree | 7d17f0176b28d6e143ed362d3a37cf9da5f3ec98 /xen | |
parent | f0f1915d273490f2cdd698932d6592f4024b9b75 (diff) | |
download | xen-39bef5bcf02a72fc5552dd20c61ec7ea65c85054.tar.gz xen-39bef5bcf02a72fc5552dd20c61ec7ea65c85054.tar.bz2 xen-39bef5bcf02a72fc5552dd20c61ec7ea65c85054.zip |
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@novell.com>
Diffstat (limited to 'xen')
-rw-r--r-- | xen/Rules.mk | 3 | ||||
-rw-r--r-- | xen/include/asm-x86/config.h | 6 | ||||
-rw-r--r-- | xen/include/asm-x86/domain.h | 2 | ||||
-rw-r--r-- | xen/include/asm-x86/mach-default/irq_vectors.h | 3 |
4 files changed, 10 insertions, 4 deletions
diff --git a/xen/Rules.mk b/xen/Rules.mk index 36292c92e5..43a4f63249 100644 --- a/xen/Rules.mk +++ b/xen/Rules.mk @@ -69,6 +69,9 @@ CFLAGS-$(frame_pointer) += -fno-omit-frame-pointer -DCONFIG_FRAME_POINTER 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 --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h index 815eb4a95d..aa9b234370 100644 --- a/xen/include/asm-x86/config.h +++ b/xen/include/asm-x86/config.h @@ -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 diff --git a/xen/include/asm-x86/domain.h b/xen/include/asm-x86/domain.h index fb95c064ad..1589615363 100644 --- a/xen/include/asm-x86/domain.h +++ b/xen/include/asm-x86/domain.h @@ -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 --git a/xen/include/asm-x86/mach-default/irq_vectors.h b/xen/include/asm-x86/mach-default/irq_vectors.h index 626e6cd1b5..057b2a35b8 100644 --- a/xen/include/asm-x86/mach-default/irq_vectors.h +++ b/xen/include/asm-x86/mach-default/irq_vectors.h @@ -30,7 +30,4 @@ #define NR_VECTORS 256 -/* Limited by number of trap vectors. */ -#define NR_IRQS NR_VECTORS - #endif /* _ASM_IRQ_VECTORS_H */ |