diff options
Diffstat (limited to 'arch/sh/mm/init.c')
-rw-r--r-- | arch/sh/mm/init.c | 21 |
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 | */ |
38 | unsigned long cached_to_uncached = P2SEG - P1SEG; | 39 | unsigned long cached_to_uncached = P2SEG - P1SEG; |
40 | unsigned 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, |