diff options
Diffstat (limited to 'arch/h8300/mm/init.c')
| -rw-r--r-- | arch/h8300/mm/init.c | 30 | 
1 files changed, 3 insertions, 27 deletions
diff --git a/arch/h8300/mm/init.c b/arch/h8300/mm/init.c index 981e25094b1..ff349d70a29 100644 --- a/arch/h8300/mm/init.c +++ b/arch/h8300/mm/init.c @@ -139,7 +139,7 @@ void __init mem_init(void)  	start_mem = PAGE_ALIGN(start_mem);  	max_mapnr = num_physpages = MAP_NR(high_memory); -	/* this will put all memory onto the freelists */ +	/* this will put all low memory onto the freelists */  	totalram_pages = free_all_bootmem();  	codek = (_etext - _stext) >> 10; @@ -161,15 +161,7 @@ void __init mem_init(void)  #ifdef CONFIG_BLK_DEV_INITRD  void free_initrd_mem(unsigned long start, unsigned long end)  { -	int pages = 0; -	for (; start < end; start += PAGE_SIZE) { -		ClearPageReserved(virt_to_page(start)); -		init_page_count(virt_to_page(start)); -		free_page(start); -		totalram_pages++; -		pages++; -	} -	printk ("Freeing initrd memory: %dk freed\n", pages); +	free_reserved_area(start, end, 0, "initrd");  }  #endif @@ -177,23 +169,7 @@ void  free_initmem(void)  {  #ifdef CONFIG_RAMKERNEL -	unsigned long addr; -/* - *	the following code should be cool even if these sections - *	are not page aligned. - */ -	addr = PAGE_ALIGN((unsigned long)(__init_begin)); -	/* next to check that the page we free is not a partial page */ -	for (; addr + PAGE_SIZE < (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: %ldk freed (0x%x - 0x%x)\n", -			(addr - PAGE_ALIGN((long) __init_begin)) >> 10, -			(int)(PAGE_ALIGN((unsigned long)__init_begin)), -			(int)(addr - PAGE_SIZE)); +	free_initmem_default(0);  #endif  }  |