diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/mm/init_64.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index bbaaa005bf0e..3ddda59f7087 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c | |||
@@ -612,7 +612,7 @@ void __init initmem_init(void) | |||
612 | } | 612 | } |
613 | #endif | 613 | #endif |
614 | 614 | ||
615 | void __init paging_init(void) | 615 | static void __init zone_sizes_init(void) |
616 | { | 616 | { |
617 | unsigned long max_zone_pfns[MAX_NR_ZONES]; | 617 | unsigned long max_zone_pfns[MAX_NR_ZONES]; |
618 | 618 | ||
@@ -623,6 +623,11 @@ void __init paging_init(void) | |||
623 | max_zone_pfns[ZONE_DMA32] = MAX_DMA32_PFN; | 623 | max_zone_pfns[ZONE_DMA32] = MAX_DMA32_PFN; |
624 | max_zone_pfns[ZONE_NORMAL] = max_pfn; | 624 | max_zone_pfns[ZONE_NORMAL] = max_pfn; |
625 | 625 | ||
626 | free_area_init_nodes(max_zone_pfns); | ||
627 | } | ||
628 | |||
629 | void __init paging_init(void) | ||
630 | { | ||
626 | sparse_memory_present_with_active_regions(MAX_NUMNODES); | 631 | sparse_memory_present_with_active_regions(MAX_NUMNODES); |
627 | sparse_init(); | 632 | sparse_init(); |
628 | 633 | ||
@@ -634,7 +639,7 @@ void __init paging_init(void) | |||
634 | */ | 639 | */ |
635 | node_clear_state(0, N_NORMAL_MEMORY); | 640 | node_clear_state(0, N_NORMAL_MEMORY); |
636 | 641 | ||
637 | free_area_init_nodes(max_zone_pfns); | 642 | zone_sizes_init(); |
638 | } | 643 | } |
639 | 644 | ||
640 | /* | 645 | /* |