summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2010-03-08 15:03:21 +0300
committerPaul Mundt <lethal@linux-sh.org>2010-03-08 15:03:21 +0300
commit40d1f0048289b1baed859baee06878417fae540e (patch)
tree77ff254a151fbc9300d6c25ccbdc8949be9061c1
parenta8941dad1f12b4e8a87a517ed27f29d0209c817c (diff)
downloadlinux-40d1f0048289b1baed859baee06878417fae540e.tar.xz
sh: Fix up uncached offset for legacy 29-bit mode.
The uncached_start was being set up properly for 32-bit but managed to break 29-bit in the process, fix it up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r--arch/sh/mm/uncached.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/sh/mm/uncached.c b/arch/sh/mm/uncached.c
index cf20a5c5136a..2ef57efeb225 100644
--- a/arch/sh/mm/uncached.c
+++ b/arch/sh/mm/uncached.c
@@ -1,6 +1,7 @@
#include <linux/init.h>
#include <asm/sizes.h>
#include <asm/page.h>
+#include <asm/addrspace.h>
/*
* This is the offset of the uncached section from its cached alias.
@@ -23,7 +24,11 @@ int virt_addr_uncached(unsigned long kaddr)
void __init uncached_init(void)
{
+#ifdef CONFIG_29BIT
+ uncached_start = P2SEG;
+#else
uncached_start = memory_end;
+#endif
uncached_end = uncached_start + uncached_size;
}