diff options
Diffstat (limited to 'arch/m32r/mm/init.c')
| -rw-r--r-- | arch/m32r/mm/init.c | 26 | 
1 files changed, 3 insertions, 23 deletions
diff --git a/arch/m32r/mm/init.c b/arch/m32r/mm/init.c index 78b660e903d..ab4cbce91a9 100644 --- a/arch/m32r/mm/init.c +++ b/arch/m32r/mm/init.c @@ -28,10 +28,7 @@  #include <asm/mmu_context.h>  #include <asm/setup.h>  #include <asm/tlb.h> - -/* References to section boundaries */ -extern char _text, _etext, _edata; -extern char __init_begin, __init_end; +#include <asm/sections.h>  pgd_t swapper_pg_dir[1024]; @@ -184,17 +181,7 @@ void __init mem_init(void)   *======================================================================*/  void free_initmem(void)  { -	unsigned long addr; - -	addr = (unsigned long)(&__init_begin); -	for (; addr < (unsigned long)(&__init_end); addr += PAGE_SIZE) { -		ClearPageReserved(virt_to_page(addr)); -		init_page_count(virt_to_page(addr)); -		free_page(addr); -		totalram_pages++; -	} -	printk (KERN_INFO "Freeing unused kernel memory: %dk freed\n", \ -	  (int)(&__init_end - &__init_begin) >> 10); +	free_initmem_default(0);  }  #ifdef CONFIG_BLK_DEV_INITRD @@ -204,13 +191,6 @@ void free_initmem(void)   *======================================================================*/  void free_initrd_mem(unsigned long start, unsigned long end)  { -	unsigned long p; -	for (p = start; p < end; p += PAGE_SIZE) { -		ClearPageReserved(virt_to_page(p)); -		init_page_count(virt_to_page(p)); -		free_page(p); -		totalram_pages++; -	} -	printk (KERN_INFO "Freeing initrd memory: %ldk freed\n", (end - start) >> 10); +	free_reserved_area(start, end, 0, "initrd");  }  #endif  |