Ingo Molnar wrote:
> All non-x86 architectures fail to build:
>
> In file included from /home/mingo/tip/include/linux/random.h:11,
> from /home/mingo/tip/include/linux/stackprotector.h:6,
> from /home/mingo/tip/init/main.c:17:
> /home/mingo/tip/include/linux/irqnr.h:26:63: error: asm/irq_vectors.h: No such file or directory
Do not include asm/irq_vectors.h in generic code - it's not available
on all architectures.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
#define APIC_BASE_MSR 0x800
#define X2APIC_ENABLE (1UL << 10)
-/* get MAX_IO_APICS */
-#include <asm/apicnum.h>
+#ifdef CONFIG_X86_32
+# define MAX_IO_APICS 64
+#else
+# define MAX_IO_APICS 128
+# define MAX_LOCAL_APIC 32768
+#endif
/*
* All x86-64 systems are xAPIC compatible.
#else /* CONFIG_GENERIC_HARDIRQS */
-#include <asm/irq_vectors.h> /* need possible max_nr_irqs() */
-
extern int nr_irqs;
extern struct irq_desc *irq_to_desc(unsigned int irq);
-# ifndef max_nr_irqs
-# define max_nr_irqs(nr_cpus) NR_IRQS
-# endif
-
# define for_each_irq_desc(irq, desc) \
for (irq = 0, desc = irq_to_desc(irq); irq < nr_irqs; \
irq++, desc = irq_to_desc(irq)) \
EXPORT_SYMBOL_GPL(nr_irqs);
#ifdef CONFIG_SPARSE_IRQ
+
+#ifndef max_nr_irqs
+#define max_nr_irqs(nr_cpus) NR_IRQS
+#endif
+
static struct irq_desc irq_desc_init = {
.irq = -1,
.status = IRQ_DISABLED,