diff options
Diffstat (limited to 'arch/score/mm/init.c')
| -rw-r--r-- | arch/score/mm/init.c | 68 | 
1 files changed, 10 insertions, 58 deletions
diff --git a/arch/score/mm/init.c b/arch/score/mm/init.c index 50fdec54c70..9fbce49ad3b 100644 --- a/arch/score/mm/init.c +++ b/arch/score/mm/init.c @@ -31,21 +31,17 @@  #include <linux/mm.h>  #include <linux/mman.h>  #include <linux/pagemap.h> -#include <linux/proc_fs.h> +#include <linux/kcore.h>  #include <linux/sched.h>  #include <linux/initrd.h>  #include <asm/sections.h>  #include <asm/tlb.h> -DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); -  unsigned long empty_zero_page;  EXPORT_SYMBOL_GPL(empty_zero_page); -static struct kcore_list kcore_mem, kcore_vmalloc; - -static unsigned long setup_zero_page(void) +static void setup_zero_page(void)  {  	struct page *page; @@ -54,9 +50,7 @@ static unsigned long setup_zero_page(void)  		panic("Oh boy, that early out of memory?");  	page = virt_to_page((void *) empty_zero_page); -	SetPageReserved(page); - -	return 1UL; +	mark_page_reserved(page);  }  #ifndef CONFIG_NEED_MULTIPLE_NODES @@ -81,67 +75,25 @@ void __init paging_init(void)  void __init mem_init(void)  { -	unsigned long codesize, reservedpages, datasize, initsize; -	unsigned long tmp, ram = 0; -  	high_memory = (void *) __va(max_low_pfn << PAGE_SHIFT); -	totalram_pages += free_all_bootmem(); -	totalram_pages -= setup_zero_page();	/* Setup zeroed pages. */ -	reservedpages = 0; - -	for (tmp = 0; tmp < max_low_pfn; tmp++) -		if (page_is_ram(tmp)) { -			ram++; -			if (PageReserved(pfn_to_page(tmp))) -				reservedpages++; -		} - -	num_physpages = ram; -	codesize = (unsigned long) &_etext - (unsigned long) &_text; -	datasize = (unsigned long) &_edata - (unsigned long) &_etext; -	initsize = (unsigned long) &__init_end - (unsigned long) &__init_begin; - -	printk(KERN_INFO "Memory: %luk/%luk available (%ldk kernel code, " -			"%ldk reserved, %ldk data, %ldk init, %ldk highmem)\n", -			(unsigned long) nr_free_pages() << (PAGE_SHIFT-10), -			ram << (PAGE_SHIFT-10), codesize >> 10, -			reservedpages << (PAGE_SHIFT-10), datasize >> 10, -			initsize >> 10, -			totalhigh_pages << (PAGE_SHIFT-10)); -} -#endif /* !CONFIG_NEED_MULTIPLE_NODES */ +	free_all_bootmem(); +	setup_zero_page();	/* Setup zeroed pages. */ -static void free_init_pages(const char *what, unsigned long begin, unsigned long end) -{ -	unsigned long pfn; - -	for (pfn = PFN_UP(begin); pfn < PFN_DOWN(end); pfn++) { -		struct page *page = pfn_to_page(pfn); -		void *addr = phys_to_virt(PFN_PHYS(pfn)); - -		ClearPageReserved(page); -		init_page_count(page); -		memset(addr, POISON_FREE_INITMEM, PAGE_SIZE); -		__free_page(page); -		totalram_pages++; -	} -	printk(KERN_INFO "Freeing %s: %ldk freed\n", what, (end - begin) >> 10); +	mem_init_print_info(NULL);  } +#endif /* !CONFIG_NEED_MULTIPLE_NODES */  #ifdef CONFIG_BLK_DEV_INITRD  void free_initrd_mem(unsigned long start, unsigned long end)  { -	free_init_pages("initrd memory", -		virt_to_phys((void *) start), -		virt_to_phys((void *) end)); +	free_reserved_area((void *)start, (void *)end, POISON_FREE_INITMEM, +			   "initrd");  }  #endif  void __init_refok free_initmem(void)  { -	free_init_pages("unused kernel memory", -	__pa(&__init_begin), -	__pa(&__init_end)); +	free_initmem_default(POISON_FREE_INITMEM);  }  unsigned long pgd_current;  | 
