Subject: Re: fix FIXADDR_TOP for TX39/TX49

From: Atsushi Nemoto <[email-masked]>
Date: Wed, 22 Dec 2004 00:28:53 +0900 (JST)

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

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

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

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

This patch can still be applied to 2.6.  Could you apply?

--- linux-mips/include/asm-mips/fixmap.h	Sat Nov 27 00:39:25 2004
+++ linux/include/asm-mips/fixmap.h	Sat Dec 18 21:21:01 2004
@@ -70,7 +70,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

---

From: Thiemo Seufer <[email-masked]>
Date: Tue, 21 Dec 2004 16:41:10 +0100

> +++ linux/include/asm-mips/fixmap.h	Sat Dec 18 21:21:01 2004

I figure it's PAGE_SIZE which should be subtracted here. (Or is it
2 * PAGE_SIZE for paired r4k-style TLBs?)

Thiemo