patch-2.2.18 linux/include/asm-arm/arch-rpc/system.h

Next file: linux/include/asm-arm/arch-rpc/time.h
Previous file: linux/include/asm-arm/arch-rpc/keyboard.h
Back to the patch index
Back to the overall index

diff -u --new-file --recursive --exclude-from /usr/src/exclude v2.2.17/include/asm-arm/arch-rpc/system.h linux/include/asm-arm/arch-rpc/system.h
@@ -1,23 +1,27 @@
 /*
  * linux/include/asm-arm/arch-rpc/system.h
  *
- * Copyright (c) 1996 Russell King
+ * Copyright (c) 1996-1999 Russell King
  */
 #ifndef __ASM_ARCH_SYSTEM_H
 #define __ASM_ARCH_SYSTEM_H
 
 #include <asm/iomd.h>
+#include <asm/io.h>
 
-#define arch_reset(mode) {						\
-	extern void ecard_reset (int card);				\
-	outb (0, IOMD_ROMCR0);						\
-	ecard_reset(-1);						\
-	cli();								\
-	__asm__ __volatile__("msr  spsr, r1;"				\
-			     "mcr  p15, 0, %0, c1, c0, 0;"		\
-			     "movs pc, #0"				\
-			 : 						\
-			 : "r" (processor.u.armv3v4.reset()));		\
-	}
+#define arch_do_idle()		processor.u.armv3v4._do_idle()
 
+extern __inline__ void arch_reset(char mode)
+{
+	extern void ecard_reset(int card);
+
+	ecard_reset(-1);
+
+	outb(0, IOMD_ROMCR0);
+
+	/*
+	 * Jump into the ROM
+	 */
+	processor.u.armv3v4.reset(0);
+}
 #endif

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)