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