mirror of https://gitee.com/openkylin/linux.git
mm/blackfin: prepare for removing num_physpages and simplify mem_init()
Prepare for removing num_physpages and simplify mem_init(). Signed-off-by: Jiang Liu <jiang.liu@huawei.com> Cc: Mike Frysinger <vapier@gentoo.org> Cc: Bob Liu <lliubbo@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
6703bdf669
commit
d9d7e76981
|
@ -90,43 +90,17 @@ asmlinkage void __init init_pda(void)
|
|||
|
||||
void __init mem_init(void)
|
||||
{
|
||||
unsigned int codek = 0, datak = 0, initk = 0;
|
||||
unsigned int reservedpages = 0, freepages = 0;
|
||||
unsigned long tmp;
|
||||
unsigned long start_mem = memory_start;
|
||||
unsigned long end_mem = memory_end;
|
||||
char buf[64];
|
||||
|
||||
end_mem &= PAGE_MASK;
|
||||
high_memory = (void *)end_mem;
|
||||
|
||||
start_mem = PAGE_ALIGN(start_mem);
|
||||
max_mapnr = num_physpages = MAP_NR(high_memory);
|
||||
printk(KERN_DEBUG "Kernel managed physical pages: %lu\n", num_physpages);
|
||||
high_memory = (void *)(memory_end & PAGE_MASK);
|
||||
max_mapnr = MAP_NR(high_memory);
|
||||
printk(KERN_DEBUG "Kernel managed physical pages: %lu\n", max_mapnr);
|
||||
|
||||
/* This will put all low memory onto the freelists. */
|
||||
free_all_bootmem();
|
||||
|
||||
reservedpages = 0;
|
||||
for (tmp = ARCH_PFN_OFFSET; tmp < max_mapnr; tmp++)
|
||||
if (PageReserved(pfn_to_page(tmp)))
|
||||
reservedpages++;
|
||||
freepages = max_mapnr - ARCH_PFN_OFFSET - reservedpages;
|
||||
|
||||
/* do not count in kernel image between _rambase and _ramstart */
|
||||
reservedpages -= (_ramstart - _rambase) >> PAGE_SHIFT;
|
||||
#if (defined(CONFIG_BFIN_EXTMEM_ICACHEABLE) && ANOMALY_05000263)
|
||||
reservedpages += (_ramend - memory_end - DMA_UNCACHED_REGION) >> PAGE_SHIFT;
|
||||
#endif
|
||||
|
||||
codek = (_etext - _stext) >> 10;
|
||||
initk = (__init_end - __init_begin) >> 10;
|
||||
datak = ((_ramstart - _rambase) >> 10) - codek - initk;
|
||||
|
||||
printk(KERN_INFO
|
||||
"Memory available: %luk/%luk RAM, "
|
||||
"(%uk init code, %uk kernel code, %uk data, %uk dma, %uk reserved)\n",
|
||||
(unsigned long) freepages << (PAGE_SHIFT-10), (_ramend - CONFIG_PHY_RAM_BASE_ADDRESS) >> 10,
|
||||
initk, codek, datak, DMA_UNCACHED_REGION >> 10, (reservedpages << (PAGE_SHIFT-10)));
|
||||
snprintf(buf, sizeof(buf) - 1, "%uK DMA", DMA_UNCACHED_REGION >> 10);
|
||||
mem_init_print_info(buf);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_BLK_DEV_INITRD
|
||||
|
|
Loading…
Reference in New Issue