diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2007-10-19 18:35:03 (GMT) |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2007-10-19 18:35:03 (GMT) |
commit | dbeb2be21d678c49a8d8bbf774903df15dd55474 (patch) | |
tree | cea1b478ec3af36134aa06633be1a45787f35f75 /arch/x86/kernel/i8259_32.c | |
parent | 39743c9ef717fd4f2b5583f010115c5f2482b8ae (diff) | |
download | linux-dbeb2be21d678c49a8d8bbf774903df15dd55474.tar.xz |
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 d34a10c..f634fc7 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) int vector = FIRST_EXTERNAL_VECTOR + i; if (i >= NR_IRQS) break; - if (vector != SYSCALL_VECTOR) + /* SYSCALL_VECTOR was reserved in trap_init. */ + if (!test_bit(vector, used_vectors)) set_intr_gate(vector, interrupt[i]); } |