diff options
| -rw-r--r-- | arch/x86/include/asm/irq_vectors.h | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/io_apic.c | 10 | ||||
| -rw-r--r-- | arch/x86/kernel/irqinit_32.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/irqinit_64.c | 2 | ||||
| -rw-r--r-- | kernel/irq/handle.c | 6 |
5 files changed, 12 insertions, 10 deletions
diff --git a/arch/x86/include/asm/irq_vectors.h b/arch/x86/include/asm/irq_vectors.h index bb6b69a6b125..f7ff65032b9d 100644 --- a/arch/x86/include/asm/irq_vectors.h +++ b/arch/x86/include/asm/irq_vectors.h | |||
| @@ -101,6 +101,8 @@ | |||
| 101 | #define LAST_VM86_IRQ 15 | 101 | #define LAST_VM86_IRQ 15 |
| 102 | #define invalid_vm86_irq(irq) ((irq) < 3 || (irq) > 15) | 102 | #define invalid_vm86_irq(irq) ((irq) < 3 || (irq) > 15) |
| 103 | 103 | ||
| 104 | #define NR_IRQS_LEGACY 16 | ||
| 105 | |||
| 104 | #if defined(CONFIG_X86_IO_APIC) && !defined(CONFIG_X86_VOYAGER) | 106 | #if defined(CONFIG_X86_IO_APIC) && !defined(CONFIG_X86_VOYAGER) |
| 105 | 107 | ||
| 106 | #ifndef CONFIG_SPARSE_IRQ | 108 | #ifndef CONFIG_SPARSE_IRQ |
diff --git a/arch/x86/kernel/io_apic.c b/arch/x86/kernel/io_apic.c index 9de17f5c1125..9870461ae933 100644 --- a/arch/x86/kernel/io_apic.c +++ b/arch/x86/kernel/io_apic.c | |||
| @@ -847,7 +847,7 @@ EXPORT_SYMBOL(IO_APIC_get_PCI_irq_vector); | |||
| 847 | */ | 847 | */ |
| 848 | static int EISA_ELCR(unsigned int irq) | 848 | static int EISA_ELCR(unsigned int irq) |
| 849 | { | 849 | { |
| 850 | if (irq < 16) { | 850 | if (irq < NR_IRQS_LEGACY) { |
| 851 | unsigned int port = 0x4d0 + (irq >> 3); | 851 | unsigned int port = 0x4d0 + (irq >> 3); |
| 852 | return (inb(port) >> (irq & 7)) & 1; | 852 | return (inb(port) >> (irq & 7)) & 1; |
| 853 | } | 853 | } |
| @@ -1388,7 +1388,7 @@ static void setup_IO_APIC_irq(int apic, int pin, unsigned int irq, | |||
| 1388 | } | 1388 | } |
| 1389 | 1389 | ||
| 1390 | ioapic_register_intr(irq, trigger); | 1390 | ioapic_register_intr(irq, trigger); |
| 1391 | if (irq < 16) | 1391 | if (irq < NR_IRQS_LEGACY) |
| 1392 | disable_8259A_irq(irq); | 1392 | disable_8259A_irq(irq); |
| 1393 | 1393 | ||
| 1394 | ioapic_write_entry(apic, pin, entry); | 1394 | ioapic_write_entry(apic, pin, entry); |
| @@ -2080,7 +2080,7 @@ static unsigned int startup_ioapic_irq(unsigned int irq) | |||
| 2080 | struct irq_cfg *cfg; | 2080 | struct irq_cfg *cfg; |
| 2081 | 2081 | ||
| 2082 | spin_lock_irqsave(&ioapic_lock, flags); | 2082 | spin_lock_irqsave(&ioapic_lock, flags); |
| 2083 | if (irq < 16) { | 2083 | if (irq < NR_IRQS_LEGACY) { |
| 2084 | disable_8259A_irq(irq); | 2084 | disable_8259A_irq(irq); |
| 2085 | if (i8259A_irq_pending(irq)) | 2085 | if (i8259A_irq_pending(irq)) |
| 2086 | was_pending = 1; | 2086 | was_pending = 1; |
| @@ -2504,7 +2504,7 @@ static inline void init_IO_APIC_traps(void) | |||
| 2504 | * so default to an old-fashioned 8259 | 2504 | * so default to an old-fashioned 8259 |
| 2505 | * interrupt if we can.. | 2505 | * interrupt if we can.. |
| 2506 | */ | 2506 | */ |
| 2507 | if (irq < 16) | 2507 | if (irq < NR_IRQS_LEGACY) |
| 2508 | make_8259A_irq(irq); | 2508 | make_8259A_irq(irq); |
| 2509 | else | 2509 | else |
| 2510 | /* Strange. Oh, well.. */ | 2510 | /* Strange. Oh, well.. */ |
| @@ -3794,7 +3794,7 @@ int io_apic_set_pci_routing (int ioapic, int pin, int irq, int triggering, int p | |||
| 3794 | /* | 3794 | /* |
| 3795 | * IRQs < 16 are already in the irq_2_pin[] map | 3795 | * IRQs < 16 are already in the irq_2_pin[] map |
| 3796 | */ | 3796 | */ |
| 3797 | if (irq >= 16) { | 3797 | if (irq >= NR_IRQS_LEGACY) { |
| 3798 | cfg = desc->chip_data; | 3798 | cfg = desc->chip_data; |
| 3799 | add_pin_to_irq_cpu(irq, cpu, ioapic, pin); | 3799 | add_pin_to_irq_cpu(irq, cpu, ioapic, pin); |
| 3800 | } | 3800 | } |
diff --git a/arch/x86/kernel/irqinit_32.c b/arch/x86/kernel/irqinit_32.c index 5a5651b7f9e6..6a92f47c52e7 100644 --- a/arch/x86/kernel/irqinit_32.c +++ b/arch/x86/kernel/irqinit_32.c | |||
| @@ -68,7 +68,7 @@ void __init init_ISA_irqs (void) | |||
| 68 | /* | 68 | /* |
| 69 | * 16 old-style INTA-cycle interrupts: | 69 | * 16 old-style INTA-cycle interrupts: |
| 70 | */ | 70 | */ |
| 71 | for (i = 0; i < 16; i++) { | 71 | for (i = 0; i < NR_IRQS_LEGACY; i++) { |
| 72 | struct irq_desc *desc = irq_to_desc(i); | 72 | struct irq_desc *desc = irq_to_desc(i); |
| 73 | 73 | ||
| 74 | desc->status = IRQ_DISABLED; | 74 | desc->status = IRQ_DISABLED; |
diff --git a/arch/x86/kernel/irqinit_64.c b/arch/x86/kernel/irqinit_64.c index cd9f42d028d9..40c1e62ec785 100644 --- a/arch/x86/kernel/irqinit_64.c +++ b/arch/x86/kernel/irqinit_64.c | |||
| @@ -142,7 +142,7 @@ void __init init_ISA_irqs(void) | |||
| 142 | init_bsp_APIC(); | 142 | init_bsp_APIC(); |
| 143 | init_8259A(0); | 143 | init_8259A(0); |
| 144 | 144 | ||
| 145 | for (i = 0; i < 16; i++) { | 145 | for (i = 0; i < NR_IRQS_LEGACY; i++) { |
| 146 | struct irq_desc *desc = irq_to_desc(i); | 146 | struct irq_desc *desc = irq_to_desc(i); |
| 147 | 147 | ||
| 148 | desc->status = IRQ_DISABLED; | 148 | desc->status = IRQ_DISABLED; |
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index 96ca203eb51b..8aa09547f5ef 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c | |||
| @@ -117,8 +117,8 @@ static DEFINE_SPINLOCK(sparse_irq_lock); | |||
| 117 | 117 | ||
| 118 | struct irq_desc *irq_desc_ptrs[NR_IRQS] __read_mostly; | 118 | struct irq_desc *irq_desc_ptrs[NR_IRQS] __read_mostly; |
| 119 | 119 | ||
| 120 | static struct irq_desc irq_desc_legacy[16] __cacheline_aligned_in_smp = { | 120 | static struct irq_desc irq_desc_legacy[NR_IRQS_LEGACY] __cacheline_aligned_in_smp = { |
| 121 | [0 ... 15] = { | 121 | [0 ... NR_IRQS_LEGACY-1] = { |
| 122 | .irq = -1, | 122 | .irq = -1, |
| 123 | .status = IRQ_DISABLED, | 123 | .status = IRQ_DISABLED, |
| 124 | .chip = &no_irq_chip, | 124 | .chip = &no_irq_chip, |
| @@ -132,7 +132,7 @@ static struct irq_desc irq_desc_legacy[16] __cacheline_aligned_in_smp = { | |||
| 132 | }; | 132 | }; |
| 133 | 133 | ||
| 134 | /* FIXME: use bootmem alloc ...*/ | 134 | /* FIXME: use bootmem alloc ...*/ |
| 135 | static unsigned int kstat_irqs_legacy[16][NR_CPUS]; | 135 | static unsigned int kstat_irqs_legacy[NR_IRQS_LEGACY][NR_CPUS]; |
| 136 | 136 | ||
| 137 | void __init early_irq_init(void) | 137 | void __init early_irq_init(void) |
| 138 | { | 138 | { |
