|
@@ -612,7 +612,7 @@ void __init initmem_init(void)
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
-void __init paging_init(void)
|
|
|
+static void __init zone_sizes_init(void)
|
|
|
{
|
|
|
unsigned long max_zone_pfns[MAX_NR_ZONES];
|
|
|
|
|
@@ -623,6 +623,11 @@ void __init paging_init(void)
|
|
|
max_zone_pfns[ZONE_DMA32] = MAX_DMA32_PFN;
|
|
|
max_zone_pfns[ZONE_NORMAL] = max_pfn;
|
|
|
|
|
|
+ free_area_init_nodes(max_zone_pfns);
|
|
|
+}
|
|
|
+
|
|
|
+void __init paging_init(void)
|
|
|
+{
|
|
|
sparse_memory_present_with_active_regions(MAX_NUMNODES);
|
|
|
sparse_init();
|
|
|
|
|
@@ -634,7 +639,7 @@ void __init paging_init(void)
|
|
|
*/
|
|
|
node_clear_state(0, N_NORMAL_MEMORY);
|
|
|
|
|
|
- free_area_init_nodes(max_zone_pfns);
|
|
|
+ zone_sizes_init();
|
|
|
}
|
|
|
|
|
|
/*
|