aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/mm/init.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2010-01-21 01:54:31 -0500
committerPaul Mundt <lethal@linux-sh.org>2010-01-21 01:54:31 -0500
commit3125ee72dca25fc2157dcddd07e2d740db921fc4 (patch)
treee6fdcea67ba6ebf9bf485b397f8488b15da1330d /arch/sh/mm/init.c
parent2023b843d7b62d99e7356b872e99abc7d6667e49 (diff)
sh: Track the uncached mapping size.
This provides a variable for tracking the uncached mapping size, and uses it for pretty printing the uncached lowmem range. Beyond this, we'll also be building on top of this for figuring out from where the remainder of P2 becomes usable when constructing unrelated mappings. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/mm/init.c')
-rw-r--r--arch/sh/mm/init.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c
index f3e23ad075cb..a28ff63c17a6 100644
--- a/arch/sh/mm/init.c
+++ b/arch/sh/mm/init.c
@@ -27,15 +27,17 @@ pgd_t swapper_pg_dir[PTRS_PER_PGD];
27 27
28#ifdef CONFIG_SUPERH32 28#ifdef CONFIG_SUPERH32
29/* 29/*
30 * Handle trivial transitions between cached and uncached
31 * segments, making use of the 1:1 mapping relationship in
32 * 512MB lowmem.
33 *
34 * This is the offset of the uncached section from its cached alias. 30 * This is the offset of the uncached section from its cached alias.
35 * Default value only valid in 29 bit mode, in 32bit mode will be 31 *
36 * overridden in pmb_init. 32 * Legacy platforms handle trivial transitions between cached and
33 * uncached segments by making use of the 1:1 mapping relationship in
34 * 512MB lowmem, others via a special uncached mapping.
35 *
36 * Default value only valid in 29 bit mode, in 32bit mode this will be
37 * updated by the early PMB initialization code.
37 */ 38 */
38unsigned long cached_to_uncached = P2SEG - P1SEG; 39unsigned long cached_to_uncached = P2SEG - P1SEG;
40unsigned long uncached_size = 0x20000000;
39#endif 41#endif
40 42
41#ifdef CONFIG_MMU 43#ifdef CONFIG_MMU
@@ -281,7 +283,8 @@ void __init mem_init(void)
281 " pkmap : 0x%08lx - 0x%08lx (%4ld kB)\n" 283 " pkmap : 0x%08lx - 0x%08lx (%4ld kB)\n"
282#endif 284#endif
283 " vmalloc : 0x%08lx - 0x%08lx (%4ld MB)\n" 285 " vmalloc : 0x%08lx - 0x%08lx (%4ld MB)\n"
284 " lowmem : 0x%08lx - 0x%08lx (%4ld MB)\n" 286 " lowmem : 0x%08lx - 0x%08lx (%4ld MB) (cached)\n"
287 " : 0x%08lx - 0x%08lx (%4ld MB) (uncached)\n"
285 " .init : 0x%08lx - 0x%08lx (%4ld kB)\n" 288 " .init : 0x%08lx - 0x%08lx (%4ld kB)\n"
286 " .data : 0x%08lx - 0x%08lx (%4ld kB)\n" 289 " .data : 0x%08lx - 0x%08lx (%4ld kB)\n"
287 " .text : 0x%08lx - 0x%08lx (%4ld kB)\n", 290 " .text : 0x%08lx - 0x%08lx (%4ld kB)\n",
@@ -299,6 +302,10 @@ void __init mem_init(void)
299 (unsigned long)memory_start, (unsigned long)high_memory, 302 (unsigned long)memory_start, (unsigned long)high_memory,
300 ((unsigned long)high_memory - (unsigned long)memory_start) >> 20, 303 ((unsigned long)high_memory - (unsigned long)memory_start) >> 20,
301 304
305 (unsigned long)memory_start + cached_to_uncached,
306 (unsigned long)memory_start + cached_to_uncached + uncached_size,
307 uncached_size >> 20,
308
302 (unsigned long)&__init_begin, (unsigned long)&__init_end, 309 (unsigned long)&__init_begin, (unsigned long)&__init_end,
303 ((unsigned long)&__init_end - 310 ((unsigned long)&__init_end -
304 (unsigned long)&__init_begin) >> 10, 311 (unsigned long)&__init_begin) >> 10,