On Sat, 17 May 2003 21:45:55 +0900 (JST), Atsushi Nemoto <anemo@mba.ocn.ne.jp>
wrote:
> 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.
Now this patch is 3 years old :-) Updated.
FIXADDR_TOP is used for HIGHMEM and for upper limit of vmalloc area on
32bit kernel. TX39XX and TX49XX have "reserved" segment in CKSEG3
area. 0xff000000-0xff3fffff on TX49XX and 0xff000000-0xfffeffff on
TX39XX are reserved (unmapped, uncached) therefore can not be used as
mapped area.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
diff --git a/include/asm-mips/fixmap.h b/include/asm-mips/fixmap.h
index 73a3028..c7f4ee1 100644
--- a/include/asm-mips/fixmap.h
+++ b/include/asm-mips/fixmap.h
@@ -70,7 +70,11 @@ #define set_fixmap_nocache(idx, phys) \
* 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)
|