summary refs log tree commit diff
diff options
context:
space:
mode:
authorWu Zhangjin <wuzhangjin@gmail.com>2009-12-01 14:55:25 +0800
committerRalf Baechle <ralf@linux-mips.org>2009-12-01 16:21:26 +0000
commit315fe625f878749a7d2b6b65a40c29bbbe6e1dc7 (patch)
treef3bf789a101752e9075c8d21623cd07ef5c76f48
parente1eb3a983befdb422e1aae299bdab573d04929f6 (diff)
downloadlinux-315fe625f878749a7d2b6b65a40c29bbbe6e1dc7.tar.gz
MIPS: Loongson: Disallow 4kB pages
Currently, with PAGE_SIZE_4KB, the kernel for loongson will hang on:

Kernel panic - not syncing: Attempted to kill init!

The possible reason is the cache aliases problem:

Loongson 2F has 64kb, 4 way L1 Cache, the way size is 16kb, which is bigger
then 4kb. so, If using 4kb page size, there is cache aliases problem.
To avoid this kind of problem, extra cache flushing.  The 2nd possible
solution is 16kb page size which avoids cache aliases without the need for
extra cache flushes.  So we disable 4kB pages until the aliasing issue is
solved.

Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
Patchwork: http://patchwork.linux-mips.org/patch/736/
Cc: linux-mips@linux-mips.org
Cc: zhangfx@lemote.com
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--arch/mips/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index ffdd651c54b1..e232e50e6a0a 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1453,6 +1453,7 @@ choice
 
 config PAGE_SIZE_4KB
 	bool "4kB"
+	depends on !CPU_LOONGSON2
 	help
 	 This option select the standard 4kB Linux page size.  On some
 	 R3000-family processors this is the only available page size.  Using