patch-1.3.31 linux/arch/alpha/kernel/irq.c
Next file: linux/arch/alpha/kernel/lca.c
Previous file: linux/arch/alpha/kernel/entry.S
Back to the patch index
Back to the overall index
- Lines: 46
- Date:
Wed Oct 4 07:44:44 1995
- Orig file:
v1.3.30/linux/arch/alpha/kernel/irq.c
- Orig date:
Wed Sep 27 15:59:56 1995
diff -u --recursive --new-file v1.3.30/linux/arch/alpha/kernel/irq.c linux/arch/alpha/kernel/irq.c
@@ -24,6 +24,8 @@
#include <asm/bitops.h>
#include <asm/dma.h>
+extern void timer_interrupt(struct pt_regs * regs);
+
static unsigned char cache_21 = 0xff;
static unsigned char cache_A1 = 0xff;
@@ -223,6 +225,9 @@
if (irq >= NR_IRQS)
return -EINVAL;
+ /* don't accept requests for irq #0 */
+ if (!irq)
+ return -EINVAL;
action = irq + irq_action;
if (action->handler)
return -EBUSY;
@@ -282,12 +287,16 @@
if (irq_action[i].handler)
printk("[%s:%d] ", irq_action[i].name, i);
printk("\n");
+#if defined(CONFIG_ALPHA_JENSEN)
printk("64=%02x, 60=%02x, 3fa=%02x 2fa=%02x\n",
inb(0x64), inb(0x60), inb(0x3fa), inb(0x2fa));
outb(0x0c, 0x3fc);
outb(0x0c, 0x2fc);
outb(0,0x61);
outb(0,0x461);
+#elif defined(CONFIG_ALPHA_NONAME)
+ printk("61=%02x, 64=%02x, 60=%02x\n", inb(0x61), inb(0x64), inb(0x60));
+#endif
}
static inline void handle_irq(int irq, struct pt_regs * regs)
@@ -563,8 +572,7 @@
printk("Interprocessor interrupt? You must be kidding\n");
break;
case 1:
- /* timer interrupt.. */
- handle_irq(0, ®s);
+ timer_interrupt(®s);
return;
case 2:
machine_check(vector, la_ptr, ®s);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this