|
@@ -129,8 +129,6 @@ setup_memory_node(int nid, void *kernel_end)
|
|
|
if (node_max_pfn > max_low_pfn)
|
|
|
max_pfn = max_low_pfn = node_max_pfn;
|
|
|
|
|
|
- num_physpages += node_max_pfn - node_min_pfn;
|
|
|
-
|
|
|
#if 0 /* we'll try this one again in a little while */
|
|
|
/* Cute trick to make sure our local node data is on local memory */
|
|
|
node_data[nid] = (pg_data_t *)(__va(node_min_pfn << PAGE_SHIFT));
|
|
@@ -324,37 +322,9 @@ void __init paging_init(void)
|
|
|
|
|
|
void __init mem_init(void)
|
|
|
{
|
|
|
- unsigned long codesize, reservedpages, datasize, initsize, pfn;
|
|
|
- extern int page_is_ram(unsigned long) __init;
|
|
|
- unsigned long nid, i;
|
|
|
high_memory = (void *) __va(max_low_pfn << PAGE_SHIFT);
|
|
|
-
|
|
|
- reservedpages = 0;
|
|
|
- for_each_online_node(nid) {
|
|
|
- /*
|
|
|
- * This will free up the bootmem, ie, slot 0 memory
|
|
|
- */
|
|
|
- free_all_bootmem_node(NODE_DATA(nid));
|
|
|
-
|
|
|
- pfn = NODE_DATA(nid)->node_start_pfn;
|
|
|
- for (i = 0; i < node_spanned_pages(nid); i++, pfn++)
|
|
|
- if (page_is_ram(pfn) &&
|
|
|
- PageReserved(nid_page_nr(nid, i)))
|
|
|
- reservedpages++;
|
|
|
- }
|
|
|
-
|
|
|
- codesize = (unsigned long) &_etext - (unsigned long) &_text;
|
|
|
- datasize = (unsigned long) &_edata - (unsigned long) &_data;
|
|
|
- initsize = (unsigned long) &__init_end - (unsigned long) &__init_begin;
|
|
|
-
|
|
|
- printk("Memory: %luk/%luk available (%luk kernel code, %luk reserved, "
|
|
|
- "%luk data, %luk init)\n",
|
|
|
- nr_free_pages() << (PAGE_SHIFT-10),
|
|
|
- num_physpages << (PAGE_SHIFT-10),
|
|
|
- codesize >> 10,
|
|
|
- reservedpages << (PAGE_SHIFT-10),
|
|
|
- datasize >> 10,
|
|
|
- initsize >> 10);
|
|
|
+ free_all_bootmem();
|
|
|
+ mem_init_print_info(NULL);
|
|
|
#if 0
|
|
|
mem_stress();
|
|
|
#endif
|