diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2007-10-19 14:35:03 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2007-10-19 14:35:03 -0400 |
commit | dbeb2be21d678c49a8d8bbf774903df15dd55474 (patch) | |
tree | cea1b478ec3af36134aa06633be1a45787f35f75 /arch/x86/kernel/i8259_32.c | |
parent | 39743c9ef717fd4f2b5583f010115c5f2482b8ae (diff) |
i386: introduce "used_vectors" bitmap which can be used to reserve vectors.
This simplifies the io_apic.c __assign_irq_vector() logic and removes
the explicit SYSCALL_VECTOR check, and also allows for vectors to be
reserved by other mechanisms (ie. lguest).
[ tglx: arch/x86 adaptation ]
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/i8259_32.c')
-rw-r--r-- | arch/x86/kernel/i8259_32.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kernel/i8259_32.c b/arch/x86/kernel/i8259_32.c index d34a10cc13a7..f634fc715c99 100644 --- a/arch/x86/kernel/i8259_32.c +++ b/arch/x86/kernel/i8259_32.c | |||
@@ -403,7 +403,8 @@ void __init native_init_IRQ(void) | |||
403 | int vector = FIRST_EXTERNAL_VECTOR + i; | 403 | int vector = FIRST_EXTERNAL_VECTOR + i; |
404 | if (i >= NR_IRQS) | 404 | if (i >= NR_IRQS) |
405 | break; | 405 | break; |
406 | if (vector != SYSCALL_VECTOR) | 406 | /* SYSCALL_VECTOR was reserved in trap_init. */ |
407 | if (!test_bit(vector, used_vectors)) | ||
407 | set_intr_gate(vector, interrupt[i]); | 408 | set_intr_gate(vector, interrupt[i]); |
408 | } | 409 | } |
409 | 410 | ||