aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2009-06-13 00:26:59 -0400
committerRusty Russell <rusty@rustcorp.com.au>2009-06-12 08:57:00 -0400
commit1028375e93a7aa4dbe466947d1c65f368b1f61c1 (patch)
tree33199b0bb9c79fded3159b880d8ad9e0e6bcb28c
parent56739c802ca845435f60e909104637880e14c769 (diff)
lguest: clean up lguest_init_IRQ
Copy from arch/x86/kernel/irqinit_32.c: we don't use the vectors beyond LGUEST_IRQS (if any), but we might as well set them all. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-rw-r--r--arch/x86/lguest/boot.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c
index 4e0c26559395..2392a7a171c2 100644
--- a/arch/x86/lguest/boot.c
+++ b/arch/x86/lguest/boot.c
@@ -628,13 +628,12 @@ static void __init lguest_init_IRQ(void)
628{ 628{
629 unsigned int i; 629 unsigned int i;
630 630
631 for (i = 0; i < LGUEST_IRQS; i++) { 631 for (i = FIRST_EXTERNAL_VECTOR; i < NR_VECTORS; i++) {
632 int vector = FIRST_EXTERNAL_VECTOR + i;
633 /* Some systems map "vectors" to interrupts weirdly. Lguest has 632 /* Some systems map "vectors" to interrupts weirdly. Lguest has
634 * a straightforward 1 to 1 mapping, so force that here. */ 633 * a straightforward 1 to 1 mapping, so force that here. */
635 __get_cpu_var(vector_irq)[vector] = i; 634 __get_cpu_var(vector_irq)[i] = i - FIRST_EXTERNAL_VECTOR;
636 if (vector != SYSCALL_VECTOR) 635 if (i != SYSCALL_VECTOR)
637 set_intr_gate(vector, interrupt[i]); 636 set_intr_gate(i, interrupt[i - FIRST_EXTERNAL_VECTOR]);
638 } 637 }
639 /* This call is required to set up for 4k stacks, where we have 638 /* This call is required to set up for 4k stacks, where we have
640 * separate stacks for hard and soft interrupts. */ 639 * separate stacks for hard and soft interrupts. */