aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/io_apic_32.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/io_apic_32.c')
-rw-r--r--arch/x86/kernel/io_apic_32.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/x86/kernel/io_apic_32.c b/arch/x86/kernel/io_apic_32.c
index a40d54fc1fdd..0ae4a9d00ce8 100644
--- a/arch/x86/kernel/io_apic_32.c
+++ b/arch/x86/kernel/io_apic_32.c
@@ -83,6 +83,10 @@ int mp_irq_entries;
83 83
84static int disable_timer_pin_1 __initdata; 84static int disable_timer_pin_1 __initdata;
85 85
86int first_system_vector = 0xfe;
87
88char system_vectors[NR_VECTORS] = { [0 ... NR_VECTORS-1] = SYS_VECTOR_FREE};
89
86/* 90/*
87 * Rough estimation of how many shared IRQs there are, can 91 * Rough estimation of how many shared IRQs there are, can
88 * be changed anytime. 92 * be changed anytime.
@@ -1176,7 +1180,7 @@ static int __assign_irq_vector(int irq)
1176 offset = current_offset; 1180 offset = current_offset;
1177next: 1181next:
1178 vector += 8; 1182 vector += 8;
1179 if (vector >= FIRST_SYSTEM_VECTOR) { 1183 if (vector >= first_system_vector) {
1180 offset = (offset + 1) % 8; 1184 offset = (offset + 1) % 8;
1181 vector = FIRST_DEVICE_VECTOR + offset; 1185 vector = FIRST_DEVICE_VECTOR + offset;
1182 } 1186 }
@@ -2269,7 +2273,7 @@ void __init setup_IO_APIC(void)
2269 int i; 2273 int i;
2270 2274
2271 /* Reserve all the system vectors. */ 2275 /* Reserve all the system vectors. */
2272 for (i = FIRST_SYSTEM_VECTOR; i < NR_VECTORS; i++) 2276 for (i = first_system_vector; i < NR_VECTORS; i++)
2273 set_bit(i, used_vectors); 2277 set_bit(i, used_vectors);
2274 2278
2275 enable_IO_APIC(); 2279 enable_IO_APIC();