Subject: fix FIXADDR_TOP for TX39/TX49

From: Atsushi Nemoto <[email-masked]>
Date: Sat, 17 May 2003 21:45:55 +0900 (JST)

On TX39/TX49, high 16MB in virtual address space
(0xff000000-0xffffffff) are reserved and can not be used as
normal mapped/cached segment.

This patch fixes FIXADDR_TOP for TX39/TX49.  FIXADDR_TOP is used not
only if CONFIG_HIGHMEM is enabled.  It is also used for high limit
address for vmalloc.  

This patch can be applied to both 2.4 and 2.5.  I'm not sure whether
subtracting 0x2000 is necessary or not but doing it is a safe bet.
Please apply.

diff -u linux-mips-cvs/include/asm-mips/fixmap.h linux.new/include/asm-mips/
--- linux-mips-cvs/include/asm-mips/fixmap.h	Fri Jan 18 12:16:24 2002
+++ linux.new/include/asm-mips/fixmap.h	Sat May 17 21:25:18 2003
@@ -71,7 +71,11 @@
  * the start of the fixmap, and leave one page empty
  * at the top of mem..
  */
+#if defined(CONFIG_CPU_TX39XX) || defined(CONFIG_CPU_TX49XX)
+#define FIXADDR_TOP	(0xff000000UL - 0x2000)
+#else
 #define FIXADDR_TOP	(0xffffe000UL)
+#endif
 #define FIXADDR_SIZE	(__end_of_fixed_addresses << PAGE_SHIFT)
 #define FIXADDR_START	(FIXADDR_TOP - FIXADDR_SIZE)
 
---
Atsushi Nemoto