patch-2.1.130 linux/arch/alpha/kernel/sys_ruffian.c

Next file: linux/arch/i386/kernel/entry.S
Previous file: linux/arch/alpha/kernel/sys_miata.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.129/linux/arch/alpha/kernel/sys_ruffian.c linux/arch/alpha/kernel/sys_ruffian.c
@@ -62,7 +62,7 @@
 		outb(0x20, 0x20);
 	} else {
 		/* Ack PYXIS PCI interrupt.  */
-		*(vulp)PYXIS_INT_REQ = (1UL << (irq - 16));
+		*(vulp)PYXIS_INT_REQ = (1UL << (irq - 16)); mb();
 		/* ... and read it back to make sure it got written.  */
 		*(vulp)PYXIS_INT_REQ;
 	}
@@ -91,8 +91,8 @@
 	while (pld) {
 		i = ffz(~pld);
 		pld &= pld - 1; /* clear least bit set */
-		if (i == 7) {
-			/* Copy this bit from isa_device_interrupt cause
+		if (i == 7) { /* if ISA int */
+			/* Copy this code from isa_device_interrupt because
 			   we need to hook into int 0 for the timer.  I
 			   refuse to soil device_interrupt with ifdefs.  */
 
@@ -107,13 +107,12 @@
 			if (j == 7 && !(inb(0x20) & 0x80)) {
 				/* It's only a passive release... */
 			} else if (j == 0) {
-				timer_interrupt(0, NULL, regs);
+			  	handle_irq(8, -1, regs); /* fake it */
 				ruffian_ack_irq(0);
 			} else {
 				handle_irq(j, j, regs);
 			}
-                } else {
-			/* if not timer int */
+                } else { /* if not an ISA int */
 			handle_irq(16 + i, 16 + i, regs);
 		}
 
@@ -171,6 +170,7 @@
 }
 
 
+#ifdef BUILDING_FOR_MILO
 /*
  * The DeskStation Ruffian motherboard firmware does not place
  * the memory size in the PALimpure area.  Therefore, we use
@@ -207,6 +207,7 @@
 
 	return ret;
 }
+#endif /* BUILDING_FOR_MILO */
 
 static void __init
 ruffian_init_arch(unsigned long *mem_start, unsigned long *mem_end)
@@ -232,10 +233,12 @@
 static void
 ruffian_kill_arch (int mode, char *reboot_cmd)
 {
+#if 0
+	/* this only causes re-entry to ARCSBIOS */
 	/* Perhaps this works for other PYXIS as well?  */
 	*(vuip) PYXIS_RESET = 0x0000dead;
 	mb();
-
+#endif
 	generic_kill_arch(mode, reboot_cmd);
 }
 

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