diff options
author | Jiang Liu <liuj97@gmail.com> | 2013-07-03 18:04:14 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-03 19:07:37 -0400 |
commit | dceccbe9209bded817f39c01a8a8bd1e69d6277a (patch) | |
tree | 382f83846a1fc12fd739631c1305b15d9b524bc1 /arch/sparc/mm/init_32.c | |
parent | da61efcfedabf16e994d67f983588683f3d59837 (diff) |
mm/SPARC: prepare for removing num_physpages and simplify mem_init()
Prepare for removing num_physpages and simplify mem_init().
Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
Cc: Tang Chen <tangchen@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/sparc/mm/init_32.c')
-rw-r--r-- | arch/sparc/mm/init_32.c | 34 |
1 files changed, 4 insertions, 30 deletions
diff --git a/arch/sparc/mm/init_32.c b/arch/sparc/mm/init_32.c index a438abb5495e..db6987082805 100644 --- a/arch/sparc/mm/init_32.c +++ b/arch/sparc/mm/init_32.c | |||
@@ -288,10 +288,6 @@ static void map_high_region(unsigned long start_pfn, unsigned long end_pfn) | |||
288 | 288 | ||
289 | void __init mem_init(void) | 289 | void __init mem_init(void) |
290 | { | 290 | { |
291 | int codepages = 0; | ||
292 | int datapages = 0; | ||
293 | int initpages = 0; | ||
294 | int reservedpages = 0; | ||
295 | int i; | 291 | int i; |
296 | 292 | ||
297 | if (PKMAP_BASE+LAST_PKMAP*PAGE_SIZE >= FIXADDR_START) { | 293 | if (PKMAP_BASE+LAST_PKMAP*PAGE_SIZE >= FIXADDR_START) { |
@@ -329,8 +325,6 @@ void __init mem_init(void) | |||
329 | unsigned long start_pfn = sp_banks[i].base_addr >> PAGE_SHIFT; | 325 | unsigned long start_pfn = sp_banks[i].base_addr >> PAGE_SHIFT; |
330 | unsigned long end_pfn = (sp_banks[i].base_addr + sp_banks[i].num_bytes) >> PAGE_SHIFT; | 326 | unsigned long end_pfn = (sp_banks[i].base_addr + sp_banks[i].num_bytes) >> PAGE_SHIFT; |
331 | 327 | ||
332 | num_physpages += sp_banks[i].num_bytes >> PAGE_SHIFT; | ||
333 | |||
334 | if (end_pfn <= highstart_pfn) | 328 | if (end_pfn <= highstart_pfn) |
335 | continue; | 329 | continue; |
336 | 330 | ||
@@ -340,39 +334,19 @@ void __init mem_init(void) | |||
340 | map_high_region(start_pfn, end_pfn); | 334 | map_high_region(start_pfn, end_pfn); |
341 | } | 335 | } |
342 | 336 | ||
343 | codepages = (((unsigned long) &_etext) - ((unsigned long)&_start)); | 337 | mem_init_print_info(NULL); |
344 | codepages = PAGE_ALIGN(codepages) >> PAGE_SHIFT; | ||
345 | datapages = (((unsigned long) &_edata) - ((unsigned long)&_etext)); | ||
346 | datapages = PAGE_ALIGN(datapages) >> PAGE_SHIFT; | ||
347 | initpages = (((unsigned long) &__init_end) - ((unsigned long) &__init_begin)); | ||
348 | initpages = PAGE_ALIGN(initpages) >> PAGE_SHIFT; | ||
349 | |||
350 | /* Ignore memory holes for the purpose of counting reserved pages */ | ||
351 | for (i=0; i < max_low_pfn; i++) | ||
352 | if (test_bit(i >> (20 - PAGE_SHIFT), sparc_valid_addr_bitmap) | ||
353 | && PageReserved(pfn_to_page(i))) | ||
354 | reservedpages++; | ||
355 | |||
356 | printk(KERN_INFO "Memory: %luk/%luk available (%dk kernel code, %dk reserved, %dk data, %dk init, %ldk highmem)\n", | ||
357 | nr_free_pages() << (PAGE_SHIFT-10), | ||
358 | num_physpages << (PAGE_SHIFT - 10), | ||
359 | codepages << (PAGE_SHIFT-10), | ||
360 | reservedpages << (PAGE_SHIFT - 10), | ||
361 | datapages << (PAGE_SHIFT-10), | ||
362 | initpages << (PAGE_SHIFT-10), | ||
363 | totalhigh_pages << (PAGE_SHIFT-10)); | ||
364 | } | 338 | } |
365 | 339 | ||
366 | void free_initmem (void) | 340 | void free_initmem (void) |
367 | { | 341 | { |
368 | num_physpages += free_initmem_default(POISON_FREE_INITMEM); | 342 | free_initmem_default(POISON_FREE_INITMEM); |
369 | } | 343 | } |
370 | 344 | ||
371 | #ifdef CONFIG_BLK_DEV_INITRD | 345 | #ifdef CONFIG_BLK_DEV_INITRD |
372 | void free_initrd_mem(unsigned long start, unsigned long end) | 346 | void free_initrd_mem(unsigned long start, unsigned long end) |
373 | { | 347 | { |
374 | num_physpages += free_reserved_area((void *)start, (void *)end, | 348 | free_reserved_area((void *)start, (void *)end, POISON_FREE_INITMEM, |
375 | POISON_FREE_INITMEM, "initrd"); | 349 | "initrd"); |
376 | } | 350 | } |
377 | #endif | 351 | #endif |
378 | 352 | ||