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

Next file: linux/arch/i386/kernel/irq.c
Previous file: linux/arch/i386/kernel/head.S
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.102/linux/arch/i386/kernel/io_apic.c linux/arch/i386/kernel/io_apic.c
@@ -156,6 +156,30 @@
 	}
 }
 
+void mask_IO_APIC_irq(unsigned int irq)
+{
+	int pin = irq_2_pin[irq];
+	struct IO_APIC_route_entry entry;
+
+	if (pin != -1) {
+		*(((int *)&entry)+0) = io_apic_read(0x10+pin*2);
+		entry.mask = 1;
+		io_apic_write(0x10+2*pin, *(((int *)&entry)+0));
+	}
+}
+
+void unmask_IO_APIC_irq(unsigned int irq)
+{
+	int pin = irq_2_pin[irq];
+	struct IO_APIC_route_entry entry;
+
+	if (pin != -1) {
+		*(((int *)&entry)+0) = io_apic_read(0x10+pin*2);
+		entry.mask = 0;
+		io_apic_write(0x10+2*pin, *(((int *)&entry)+0));
+	}
+}
+
 void clear_IO_APIC_pin (unsigned int pin)
 {
 	struct IO_APIC_route_entry entry;

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