summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-11-18 13:22:31 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-11-18 13:22:31 +0000
commit32cc38229ac7538f2346918a09e75413e8861f87 (patch)
tree2a33d3b83f807bf06c5c8ee8c383b532b1f8bef9 /arch
parentef4c5609242bfc8742338fdafa867315ef44e2af (diff)
New configuration option CONFIG_MIPS_UNCACHED. Not yet selectable due
to the manuals documenting ll/sc operation as undefined for uncached memory.
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/config.in1
-rw-r--r--arch/mips/mm/r4xx0.c4
2 files changed, 5 insertions, 0 deletions
diff --git a/arch/mips/config.in b/arch/mips/config.in
index cd257bc33..5157bc52c 100644
--- a/arch/mips/config.in
+++ b/arch/mips/config.in
@@ -437,4 +437,5 @@ if [ "$CONFIG_SERIAL" = "y" ]; then
bool 'Remote GDB kernel debugging' CONFIG_REMOTE_DEBUG
fi
bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
+#bool 'Run uncached' CONFIG_MIPS_UNCACHED
endmenu
diff --git a/arch/mips/mm/r4xx0.c b/arch/mips/mm/r4xx0.c
index a255adad1..6f9718bea 100644
--- a/arch/mips/mm/r4xx0.c
+++ b/arch/mips/mm/r4xx0.c
@@ -2689,7 +2689,11 @@ void __init ld_mmu_r4xx0(void)
printk("CPU revision is: %08x\n", read_32bit_cp0_register(CP0_PRID));
+#ifdef CONFIG_MIPS_UNCACHED
+ set_cp0_config(CONF_CM_CMASK, CONF_CM_UNCACHED);
+#else
set_cp0_config(CONF_CM_CMASK, CONF_CM_CACHABLE_NONCOHERENT);
+#endif
probe_icache(config);
probe_dcache(config);