patch-2.1.90 linux/arch/i386/kernel/io_apic.c

Next file: linux/arch/i386/kernel/ioport.c
Previous file: linux/arch/i386/kernel/init_task.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.89/linux/arch/i386/kernel/io_apic.c linux/arch/i386/kernel/io_apic.c
@@ -271,7 +271,7 @@
 		if (!IO_APIC_IRQ(irq))
 			continue;
 
-		entry.vector = IO_APIC_GATE_OFFSET + (irq<<3);
+		entry.vector = IO_APIC_VECTOR(irq);
 
 		/*
 		 * Determine IRQ line polarity (high active or low active):
@@ -383,7 +383,7 @@
 	entry.mask = 1;					/* unmask IRQ now */
 	entry.dest.logical.logical_dest = 0xff;		/* all CPUs */
 
-	entry.vector = IO_APIC_GATE_OFFSET + (irq<<3);
+	entry.vector = IO_APIC_VECTOR(irq);
 
 	entry.polarity=0;
 	entry.trigger=0;
@@ -513,11 +513,19 @@
 	return;
 }
 
-void init_sym_mode (void)
+static void init_sym_mode (void)
 {
 	printk("enabling Symmetric IO mode ... ");
 		outb (0x70, 0x22);
 		outb (0x01, 0x23);
+	printk("...done.\n");
+}
+
+void init_pic_mode (void)
+{
+	printk("disabling Symmetric IO mode ... ");
+		outb (0x70, 0x22);
+		outb (0x00, 0x23);
 	printk("...done.\n");
 }
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov