patch-2.2.18 linux/include/asm-arm/arch-ebsa285/uncompress.h

Next file: linux/include/asm-arm/arch-nexuspci/system.h
Previous file: linux/include/asm-arm/arch-ebsa285/time.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-ebsa285/uncompress.h linux/include/asm-arm/arch-ebsa285/uncompress.h
@@ -1,18 +1,24 @@
 /*
  * linux/include/asm-arm/arch-ebsa285/uncompress.h
  *
- * Copyright (C) 1996,1997,1998 Russell King
+ * Copyright (C) 1996-1999 Russell King
  */
 
 /*
  * Note! This could cause problems on the NetWinder
  */
-#define BASE 0x42000160
+#define DC21285_BASE ((volatile unsigned int *)0x42000160)
+#define SER0_BASE    ((volatile unsigned char *)0x7c0003f8)
 
 static __inline__ void putc(char c)
 {
-	while (*((volatile unsigned int *)(BASE + 0x18)) & 8);
-	*((volatile unsigned int *)(BASE)) = c;
+	if (machine_is_netwinder()) {
+		while ((SER0_BASE[5] & 0x60) != 0x60);
+		SER0_BASE[0] = c;
+	} else {
+		while (DC21285_BASE[6] & 8);
+		DC21285_BASE[0] = c;
+	}
 }
 
 /*

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