mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-17 13:58:46 +00:00
cc013a8890
Commit 96177299416dbccb73b54e6b344260154a445375 ("Drop free_pages()") modified nr_free_pages() to return 'unsigned long' instead of 'unsigned int'. This made the casts to 'unsigned long' in most callers superfluous, so remove them. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Reviewed-by: Christoph Lameter <cl@linux-foundation.org> Acked-by: Ingo Molnar <mingo@elte.hu> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: David S. Miller <davem@davemloft.net> Acked-by: Kyle McMartin <kyle@mcmartin.ca> Acked-by: WANG Cong <xiyou.wangcong@gmail.com> Cc: Richard Henderson <rth@twiddle.net> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Haavard Skinnemoen <hskinnemoen@atmel.com> Cc: Mikael Starvik <starvik@axis.com> Cc: "Luck, Tony" <tony.luck@intel.com> Cc: Hirokazu Takata <takata@linux-m32r.org> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: David Howells <dhowells@redhat.com> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Chris Zankel <zankel@tensilica.com> Cc: Michal Simek <monstr@monstr.eu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
83 lines
2.1 KiB
C
83 lines
2.1 KiB
C
/*
|
|
* linux/arch/cris/mm/init.c
|
|
*
|
|
* Copyright (C) 1995 Linus Torvalds
|
|
* Copyright (C) 2000,2001 Axis Communications AB
|
|
*
|
|
* Authors: Bjorn Wesen (bjornw@axis.com)
|
|
*
|
|
*/
|
|
|
|
#include <linux/init.h>
|
|
#include <linux/bootmem.h>
|
|
#include <asm/tlb.h>
|
|
|
|
DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
|
|
|
|
unsigned long empty_zero_page;
|
|
|
|
extern char _stext, _edata, _etext; /* From linkerscript */
|
|
extern char __init_begin, __init_end;
|
|
|
|
void __init
|
|
mem_init(void)
|
|
{
|
|
int codesize, reservedpages, datasize, initsize;
|
|
unsigned long tmp;
|
|
|
|
BUG_ON(!mem_map);
|
|
|
|
/* max/min_low_pfn was set by setup.c
|
|
* now we just copy it to some other necessary places...
|
|
*
|
|
* high_memory was also set in setup.c
|
|
*/
|
|
|
|
max_mapnr = num_physpages = max_low_pfn - min_low_pfn;
|
|
|
|
/* this will put all memory onto the freelists */
|
|
totalram_pages = free_all_bootmem();
|
|
|
|
reservedpages = 0;
|
|
for (tmp = 0; tmp < max_mapnr; tmp++) {
|
|
/*
|
|
* Only count reserved RAM pages
|
|
*/
|
|
if (PageReserved(mem_map + tmp))
|
|
reservedpages++;
|
|
}
|
|
|
|
codesize = (unsigned long) &_etext - (unsigned long) &_stext;
|
|
datasize = (unsigned long) &_edata - (unsigned long) &_etext;
|
|
initsize = (unsigned long) &__init_end - (unsigned long) &__init_begin;
|
|
|
|
printk(KERN_INFO
|
|
"Memory: %luk/%luk available (%dk kernel code, %dk reserved, %dk data, "
|
|
"%dk init)\n" ,
|
|
nr_free_pages() << (PAGE_SHIFT-10),
|
|
max_mapnr << (PAGE_SHIFT-10),
|
|
codesize >> 10,
|
|
reservedpages << (PAGE_SHIFT-10),
|
|
datasize >> 10,
|
|
initsize >> 10
|
|
);
|
|
}
|
|
|
|
/* free the pages occupied by initialization code */
|
|
|
|
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: %luk freed\n",
|
|
(unsigned long)((&__init_end - &__init_begin) >> 10));
|
|
}
|