diff --git a/arch/sh/include/asm/system.h b/arch/sh/include/asm/system.h
index de2fc39..6442f17 100644
--- a/arch/sh/include/asm/system.h
+++ b/arch/sh/include/asm/system.h
@@ -137,6 +137,7 @@
 #endif
 
 extern unsigned long cached_to_uncached;
+extern unsigned long uncached_size;
 
 extern struct dentry *sh_debugfs_root;
 
diff --git a/arch/sh/kernel/head_32.S b/arch/sh/kernel/head_32.S
index e933201..83f2b84 100644
--- a/arch/sh/kernel/head_32.S
+++ b/arch/sh/kernel/head_32.S
@@ -217,11 +217,18 @@
 	__PMB_ITER_BY_SIZE(16)
 
 	/*
-	 * Now that we can access it, update cached_to_uncached.
+	 * Now that we can access it, update cached_to_uncached and
+	 * uncached_size.
 	 */
 	mov.l	.Lcached_to_uncached, r0
 	mov.l	r7, @r0
 
+	mov.l	.Luncached_size, r0
+	mov	#1, r7
+	shll16	r7
+	shll8	r7
+	mov.l	r7, @r0
+
 	/*
 	 * Clear the remaining PMB entries.
 	 *
@@ -300,5 +307,6 @@
 .LFIRST_DATA_ENTRY:	.long	__MEMORY_START | PMB_V
 .LMMUCR:		.long	MMUCR
 .Lcached_to_uncached:	.long	cached_to_uncached
+.Luncached_size:	.long	uncached_size
 .LMEMORY_SIZE:		.long	__MEMORY_SIZE
 #endif
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c
index f3e23ad..a28ff63 100644
--- a/arch/sh/mm/init.c
+++ b/arch/sh/mm/init.c
@@ -27,15 +27,17 @@
 
 #ifdef CONFIG_SUPERH32
 /*
- * Handle trivial transitions between cached and uncached
- * segments, making use of the 1:1 mapping relationship in
- * 512MB lowmem.
- *
  * This is the offset of the uncached section from its cached alias.
- * Default value only valid in 29 bit mode, in 32bit mode will be
- * overridden in pmb_init.
+ *
+ * Legacy platforms handle trivial transitions between cached and
+ * uncached segments by making use of the 1:1 mapping relationship in
+ * 512MB lowmem, others via a special uncached mapping.
+ *
+ * Default value only valid in 29 bit mode, in 32bit mode this will be
+ * updated by the early PMB initialization code.
  */
 unsigned long cached_to_uncached = P2SEG - P1SEG;
+unsigned long uncached_size = 0x20000000;
 #endif
 
 #ifdef CONFIG_MMU
@@ -281,7 +283,8 @@
 		"    pkmap   : 0x%08lx - 0x%08lx   (%4ld kB)\n"
 #endif
 		"    vmalloc : 0x%08lx - 0x%08lx   (%4ld MB)\n"
-		"    lowmem  : 0x%08lx - 0x%08lx   (%4ld MB)\n"
+		"    lowmem  : 0x%08lx - 0x%08lx   (%4ld MB) (cached)\n"
+		"            : 0x%08lx - 0x%08lx   (%4ld MB) (uncached)\n"
 		"      .init : 0x%08lx - 0x%08lx   (%4ld kB)\n"
 		"      .data : 0x%08lx - 0x%08lx   (%4ld kB)\n"
 		"      .text : 0x%08lx - 0x%08lx   (%4ld kB)\n",
@@ -299,6 +302,10 @@
 		(unsigned long)memory_start, (unsigned long)high_memory,
 		((unsigned long)high_memory - (unsigned long)memory_start) >> 20,
 
+		(unsigned long)memory_start + cached_to_uncached,
+		(unsigned long)memory_start + cached_to_uncached + uncached_size,
+		uncached_size >> 20,
+
 		(unsigned long)&__init_begin, (unsigned long)&__init_end,
 		((unsigned long)&__init_end -
 		 (unsigned long)&__init_begin) >> 10,
