Loading arch/blackfin/mm/init.c +17 −28 Original line number Diff line number Diff line Loading @@ -168,42 +168,31 @@ void __init mem_init(void) } } #ifdef CONFIG_BLK_DEV_INITRD void __init free_initrd_mem(unsigned long start, unsigned long end) static __init void free_init_pages(const char *what, unsigned long begin, 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); unsigned long addr; /* next to check that the page we free is not a partial page */ for (addr = begin; addr + PAGE_SIZE <= end; addr += PAGE_SIZE) { ClearPageReserved(virt_to_page(addr)); init_page_count(virt_to_page(addr)); free_page(addr); totalram_pages++; pages++; } printk(KERN_NOTICE "Freeing initrd memory: %dk freed\n", pages); printk(KERN_INFO "Freeing %s: %ldk freed\n", what, (end - begin) >> 10); } #ifdef CONFIG_BLK_DEV_INITRD void __init free_initrd_mem(unsigned long start, unsigned long end) { free_init_pages("initrd memory", start, end); } #endif void __init 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_NOTICE "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_init_pages("unused kernel memory", (unsigned long)(&__init_begin), (unsigned long)(&__init_end)); #endif } Loading
arch/blackfin/mm/init.c +17 −28 Original line number Diff line number Diff line Loading @@ -168,42 +168,31 @@ void __init mem_init(void) } } #ifdef CONFIG_BLK_DEV_INITRD void __init free_initrd_mem(unsigned long start, unsigned long end) static __init void free_init_pages(const char *what, unsigned long begin, 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); unsigned long addr; /* next to check that the page we free is not a partial page */ for (addr = begin; addr + PAGE_SIZE <= end; addr += PAGE_SIZE) { ClearPageReserved(virt_to_page(addr)); init_page_count(virt_to_page(addr)); free_page(addr); totalram_pages++; pages++; } printk(KERN_NOTICE "Freeing initrd memory: %dk freed\n", pages); printk(KERN_INFO "Freeing %s: %ldk freed\n", what, (end - begin) >> 10); } #ifdef CONFIG_BLK_DEV_INITRD void __init free_initrd_mem(unsigned long start, unsigned long end) { free_init_pages("initrd memory", start, end); } #endif void __init 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_NOTICE "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_init_pages("unused kernel memory", (unsigned long)(&__init_begin), (unsigned long)(&__init_end)); #endif }