|
@@ -660,10 +660,8 @@ void __init initmem_init(void)
|
|
|
highstart_pfn = max_low_pfn;
|
|
|
printk(KERN_NOTICE "%ldMB HIGHMEM available.\n",
|
|
|
pages_to_mb(highend_pfn - highstart_pfn));
|
|
|
- num_physpages = highend_pfn;
|
|
|
high_memory = (void *) __va(highstart_pfn * PAGE_SIZE - 1) + 1;
|
|
|
#else
|
|
|
- num_physpages = max_low_pfn;
|
|
|
high_memory = (void *) __va(max_low_pfn * PAGE_SIZE - 1) + 1;
|
|
|
#endif
|
|
|
|
|
@@ -671,7 +669,7 @@ void __init initmem_init(void)
|
|
|
sparse_memory_present_with_active_regions(0);
|
|
|
|
|
|
#ifdef CONFIG_FLATMEM
|
|
|
- max_mapnr = num_physpages;
|
|
|
+ max_mapnr = IS_ENABLED(CONFIG_HIGHMEM) ? highend_pfn : max_low_pfn;
|
|
|
#endif
|
|
|
__vmalloc_start_set = true;
|
|
|
|
|
@@ -739,9 +737,6 @@ static void __init test_wp_bit(void)
|
|
|
|
|
|
void __init mem_init(void)
|
|
|
{
|
|
|
- int codesize, reservedpages, datasize, initsize;
|
|
|
- int tmp;
|
|
|
-
|
|
|
pci_iommu_alloc();
|
|
|
|
|
|
#ifdef CONFIG_FLATMEM
|
|
@@ -761,30 +756,9 @@ void __init mem_init(void)
|
|
|
/* this will put all low memory onto the freelists */
|
|
|
free_all_bootmem();
|
|
|
|
|
|
- reservedpages = 0;
|
|
|
- for (tmp = 0; tmp < max_low_pfn; tmp++)
|
|
|
- /*
|
|
|
- * Only count reserved RAM pages:
|
|
|
- */
|
|
|
- if (page_is_ram(tmp) && PageReserved(pfn_to_page(tmp)))
|
|
|
- reservedpages++;
|
|
|
-
|
|
|
after_bootmem = 1;
|
|
|
|
|
|
- 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 (%dk kernel code, "
|
|
|
- "%dk reserved, %dk data, %dk init, %ldk highmem)\n",
|
|
|
- nr_free_pages() << (PAGE_SHIFT-10),
|
|
|
- num_physpages << (PAGE_SHIFT-10),
|
|
|
- codesize >> 10,
|
|
|
- reservedpages << (PAGE_SHIFT-10),
|
|
|
- datasize >> 10,
|
|
|
- initsize >> 10,
|
|
|
- totalhigh_pages << (PAGE_SHIFT-10));
|
|
|
-
|
|
|
+ mem_init_print_info(NULL);
|
|
|
printk(KERN_INFO "virtual kernel memory layout:\n"
|
|
|
" fixmap : 0x%08lx - 0x%08lx (%4ld kB)\n"
|
|
|
#ifdef CONFIG_HIGHMEM
|