Add missing NR_VECTORS definition to visws and pc9800. Also, make MSI support dependent on CONFIG_X86_IO_APIC, as it won't build without IOAPIC support. arch/i386/Kconfig | 2 +- include/asm-i386/mach-pc9800/irq_vectors.h | 1 + include/asm-i386/mach-visws/irq_vectors.h | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff -puN arch/i386/Kconfig~msi-build-fix arch/i386/Kconfig --- 25/arch/i386/Kconfig~msi-build-fix 2004-01-03 14:13:42.000000000 -0800 +++ 25-akpm/arch/i386/Kconfig 2004-01-03 14:13:42.000000000 -0800 @@ -1056,7 +1056,7 @@ config PCI_DIRECT config PCI_USE_VECTOR bool "Vector-based interrupt indexing" - depends on X86_LOCAL_APIC + depends on X86_LOCAL_APIC && X86_IO_APIC default n help This replaces the current existing IRQ-based index interrupt scheme diff -puN include/asm-i386/mach-pc9800/irq_vectors.h~msi-build-fix include/asm-i386/mach-pc9800/irq_vectors.h --- 25/include/asm-i386/mach-pc9800/irq_vectors.h~msi-build-fix 2004-01-03 14:13:42.000000000 -0800 +++ 25-akpm/include/asm-i386/mach-pc9800/irq_vectors.h 2004-01-03 14:13:42.000000000 -0800 @@ -85,6 +85,7 @@ #define NR_IRQS 16 #endif +#define NR_VECTORS 256 #define NR_IRQ_VECTORS NR_IRQS #define FPU_IRQ 8 diff -puN include/asm-i386/mach-visws/irq_vectors.h~msi-build-fix include/asm-i386/mach-visws/irq_vectors.h --- 25/include/asm-i386/mach-visws/irq_vectors.h~msi-build-fix 2004-01-03 14:13:42.000000000 -0800 +++ 25-akpm/include/asm-i386/mach-visws/irq_vectors.h 2004-01-03 14:13:42.000000000 -0800 @@ -47,8 +47,9 @@ #define TIMER_IRQ 0 /* - * + * IRQ definitions */ +#define NR_VECTORS 256 #define NR_IRQS 224 #define NR_IRQ_VECTORS NR_IRQS _