|
@@ -412,19 +412,11 @@ void __init mem_init(void)
|
|
|
iommu_init();
|
|
|
|
|
|
high_memory = NULL;
|
|
|
+ for_each_online_pgdat(pgdat)
|
|
|
+ high_memory = max_t(void *, high_memory,
|
|
|
+ __va(pgdat_end_pfn(pgdat) << PAGE_SHIFT));
|
|
|
|
|
|
- for_each_online_pgdat(pgdat) {
|
|
|
- void *node_high_memory;
|
|
|
-
|
|
|
- if (pgdat->node_spanned_pages)
|
|
|
- free_all_bootmem_node(pgdat);
|
|
|
-
|
|
|
- node_high_memory = (void *)__va((pgdat->node_start_pfn +
|
|
|
- pgdat->node_spanned_pages) <<
|
|
|
- PAGE_SHIFT);
|
|
|
- if (node_high_memory > high_memory)
|
|
|
- high_memory = node_high_memory;
|
|
|
- }
|
|
|
+ free_all_bootmem();
|
|
|
|
|
|
/* Set this up early, so we can take care of the zero page */
|
|
|
cpu_cache_init();
|