diff options
Diffstat (limited to 'arch/sparc/mm/init_32.c')
-rw-r--r-- | arch/sparc/mm/init_32.c | 37 |
1 files changed, 3 insertions, 34 deletions
diff --git a/arch/sparc/mm/init_32.c b/arch/sparc/mm/init_32.c index 4490c397bb5b..af472cf7c69a 100644 --- a/arch/sparc/mm/init_32.c +++ b/arch/sparc/mm/init_32.c | |||
@@ -366,45 +366,14 @@ void __init mem_init(void) | |||
366 | 366 | ||
367 | void free_initmem (void) | 367 | void free_initmem (void) |
368 | { | 368 | { |
369 | unsigned long addr; | 369 | num_physpages += free_initmem_default(POISON_FREE_INITMEM); |
370 | unsigned long freed; | ||
371 | |||
372 | addr = (unsigned long)(&__init_begin); | ||
373 | freed = (unsigned long)(&__init_end) - addr; | ||
374 | for (; addr < (unsigned long)(&__init_end); addr += PAGE_SIZE) { | ||
375 | struct page *p; | ||
376 | |||
377 | memset((void *)addr, POISON_FREE_INITMEM, PAGE_SIZE); | ||
378 | p = virt_to_page(addr); | ||
379 | |||
380 | ClearPageReserved(p); | ||
381 | init_page_count(p); | ||
382 | __free_page(p); | ||
383 | totalram_pages++; | ||
384 | num_physpages++; | ||
385 | } | ||
386 | printk(KERN_INFO "Freeing unused kernel memory: %ldk freed\n", | ||
387 | freed >> 10); | ||
388 | } | 370 | } |
389 | 371 | ||
390 | #ifdef CONFIG_BLK_DEV_INITRD | 372 | #ifdef CONFIG_BLK_DEV_INITRD |
391 | void free_initrd_mem(unsigned long start, unsigned long end) | 373 | void free_initrd_mem(unsigned long start, unsigned long end) |
392 | { | 374 | { |
393 | if (start < end) | 375 | num_physpages += free_reserved_area(start, end, POISON_FREE_INITMEM, |
394 | printk(KERN_INFO "Freeing initrd memory: %ldk freed\n", | 376 | "initrd"); |
395 | (end - start) >> 10); | ||
396 | for (; start < end; start += PAGE_SIZE) { | ||
397 | struct page *p; | ||
398 | |||
399 | memset((void *)start, POISON_FREE_INITMEM, PAGE_SIZE); | ||
400 | p = virt_to_page(start); | ||
401 | |||
402 | ClearPageReserved(p); | ||
403 | init_page_count(p); | ||
404 | __free_page(p); | ||
405 | totalram_pages++; | ||
406 | num_physpages++; | ||
407 | } | ||
408 | } | 377 | } |
409 | #endif | 378 | #endif |
410 | 379 | ||