summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2010-04-07 17:08:32 +0900
committerPaul Mundt <lethal@linux-sh.org>2010-04-07 17:08:32 +0900
commit99dc5c0ca953fb154a3c75ebc6801e0a3c2fe3fe (patch)
treeb8d13e936d70f37f70f46ab4adf22a93f48775fc /arch
parent94a46d3cde81fc82eef2105fcb5c9e6e31bac0f7 (diff)
downloadlinux-3.10-99dc5c0ca953fb154a3c75ebc6801e0a3c2fe3fe.tar.gz
linux-3.10-99dc5c0ca953fb154a3c75ebc6801e0a3c2fe3fe.tar.bz2
linux-3.10-99dc5c0ca953fb154a3c75ebc6801e0a3c2fe3fe.zip
sh: Disable MMUCR_AT for SH-4 nommu.
Presently address translation is default-enabled regardless of whether CONFIG_MMU is set or not in the SH-4 case, this fixes it up, and also makes the control init word a bit more readable in the process. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/sh/include/cpu-sh4/cpu/mmu_context.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/sh/include/cpu-sh4/cpu/mmu_context.h b/arch/sh/include/cpu-sh4/cpu/mmu_context.h
index 2941be617a5..e46ec708105 100644
--- a/arch/sh/include/cpu-sh4/cpu/mmu_context.h
+++ b/arch/sh/include/cpu-sh4/cpu/mmu_context.h
@@ -32,7 +32,13 @@
#define MMU_UTLB_DATA_ARRAY2 0xF7800000
#define MMU_PAGE_ASSOC_BIT 0x80
-#define MMUCR_TI (1<<2)
+#ifdef CONFIG_MMU
+#define MMUCR_AT (1 << 0)
+#else
+#define MMUCR_AT (0)
+#endif
+
+#define MMUCR_TI (1 << 2)
#define MMUCR_URB 0x00FC0000
#define MMUCR_URB_SHIFT 18
@@ -65,7 +71,8 @@
#endif
#define MMU_NTLB_ENTRIES 64
-#define MMU_CONTROL_INIT (0x05|MMUCR_SQMD|MMUCR_ME|MMUCR_SE|MMUCR_AEX)
+#define MMU_CONTROL_INIT (MMUCR_AT | MMUCR_TI | MMUCR_SQMD | \
+ MMUCR_ME | MMUCR_SE | MMUCR_AEX)
#define TRA 0xff000020
#define EXPEVT 0xff000024