diff options
-rw-r--r-- | arch/x86/include/asm/page_types.h | 3 | ||||
-rw-r--r-- | arch/x86/kernel/setup.c | 2 | ||||
-rw-r--r-- | arch/x86/mm/init_32.c | 3 | ||||
-rw-r--r-- | arch/x86/mm/init_64.c | 5 | ||||
-rw-r--r-- | arch/x86/mm/numa_32.c | 3 | ||||
-rw-r--r-- | arch/x86/mm/numa_64.c | 21 |
6 files changed, 14 insertions, 23 deletions
diff --git a/arch/x86/include/asm/page_types.h b/arch/x86/include/asm/page_types.h index 731d211a1b2..eb9ed00355a 100644 --- a/arch/x86/include/asm/page_types.h +++ b/arch/x86/include/asm/page_types.h | |||
@@ -56,8 +56,7 @@ extern unsigned long init_memory_mapping(unsigned long start, | |||
56 | 56 | ||
57 | void init_memory_mapping_high(void); | 57 | void init_memory_mapping_high(void); |
58 | 58 | ||
59 | extern void initmem_init(unsigned long start_pfn, unsigned long end_pfn, | 59 | extern void initmem_init(int acpi, int k8); |
60 | int acpi, int k8); | ||
61 | extern void free_initmem(void); | 60 | extern void free_initmem(void); |
62 | 61 | ||
63 | #endif /* !__ASSEMBLY__ */ | 62 | #endif /* !__ASSEMBLY__ */ |
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index ac909ba297b..756d640723f 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
@@ -1003,7 +1003,7 @@ void __init setup_arch(char **cmdline_p) | |||
1003 | amd = !amd_numa_init(0, max_pfn); | 1003 | amd = !amd_numa_init(0, max_pfn); |
1004 | #endif | 1004 | #endif |
1005 | 1005 | ||
1006 | initmem_init(0, max_pfn, acpi, amd); | 1006 | initmem_init(acpi, amd); |
1007 | memblock_find_dma_reserve(); | 1007 | memblock_find_dma_reserve(); |
1008 | dma32_reserve_bootmem(); | 1008 | dma32_reserve_bootmem(); |
1009 | 1009 | ||
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c index c821074b7f0..16adb666560 100644 --- a/arch/x86/mm/init_32.c +++ b/arch/x86/mm/init_32.c | |||
@@ -644,8 +644,7 @@ void __init find_low_pfn_range(void) | |||
644 | } | 644 | } |
645 | 645 | ||
646 | #ifndef CONFIG_NEED_MULTIPLE_NODES | 646 | #ifndef CONFIG_NEED_MULTIPLE_NODES |
647 | void __init initmem_init(unsigned long start_pfn, unsigned long end_pfn, | 647 | void __init initmem_init(int acpi, int k8) |
648 | int acpi, int k8) | ||
649 | { | 648 | { |
650 | #ifdef CONFIG_HIGHMEM | 649 | #ifdef CONFIG_HIGHMEM |
651 | highstart_pfn = highend_pfn = max_pfn; | 650 | highstart_pfn = highend_pfn = max_pfn; |
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index 194f2732ab7..04cc027e543 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c | |||
@@ -603,10 +603,9 @@ kernel_physical_mapping_init(unsigned long start, | |||
603 | } | 603 | } |
604 | 604 | ||
605 | #ifndef CONFIG_NUMA | 605 | #ifndef CONFIG_NUMA |
606 | void __init initmem_init(unsigned long start_pfn, unsigned long end_pfn, | 606 | void __init initmem_init(int acpi, int k8) |
607 | int acpi, int k8) | ||
608 | { | 607 | { |
609 | memblock_x86_register_active_regions(0, start_pfn, end_pfn); | 608 | memblock_x86_register_active_regions(0, 0, max_pfn); |
610 | init_memory_mapping_high(); | 609 | init_memory_mapping_high(); |
611 | } | 610 | } |
612 | #endif | 611 | #endif |
diff --git a/arch/x86/mm/numa_32.c b/arch/x86/mm/numa_32.c index 505bb04654b..3249b374732 100644 --- a/arch/x86/mm/numa_32.c +++ b/arch/x86/mm/numa_32.c | |||
@@ -352,8 +352,7 @@ static void init_remap_allocator(int nid) | |||
352 | (ulong) node_remap_end_vaddr[nid]); | 352 | (ulong) node_remap_end_vaddr[nid]); |
353 | } | 353 | } |
354 | 354 | ||
355 | void __init initmem_init(unsigned long start_pfn, unsigned long end_pfn, | 355 | void __init initmem_init(int acpi, int k8) |
356 | int acpi, int k8) | ||
357 | { | 356 | { |
358 | int nid; | 357 | int nid; |
359 | long kva_target_pfn; | 358 | long kva_target_pfn; |
diff --git a/arch/x86/mm/numa_64.c b/arch/x86/mm/numa_64.c index b7d78d7a247..d7e4aafd075 100644 --- a/arch/x86/mm/numa_64.c +++ b/arch/x86/mm/numa_64.c | |||
@@ -579,8 +579,7 @@ static int __init numa_emulation(unsigned long start_pfn, | |||
579 | } | 579 | } |
580 | #endif /* CONFIG_NUMA_EMU */ | 580 | #endif /* CONFIG_NUMA_EMU */ |
581 | 581 | ||
582 | void __init initmem_init(unsigned long start_pfn, unsigned long last_pfn, | 582 | void __init initmem_init(int acpi, int amd) |
583 | int acpi, int amd) | ||
584 | { | 583 | { |
585 | int i; | 584 | int i; |
586 | 585 | ||
@@ -588,19 +587,16 @@ void __init initmem_init(unsigned long start_pfn, unsigned long last_pfn, | |||
588 | nodes_clear(node_online_map); | 587 | nodes_clear(node_online_map); |
589 | 588 | ||
590 | #ifdef CONFIG_NUMA_EMU | 589 | #ifdef CONFIG_NUMA_EMU |
591 | setup_physnodes(start_pfn << PAGE_SHIFT, last_pfn << PAGE_SHIFT, | 590 | setup_physnodes(0, max_pfn << PAGE_SHIFT, acpi, amd); |
592 | acpi, amd); | 591 | if (cmdline && !numa_emulation(0, max_pfn, acpi, amd)) |
593 | if (cmdline && !numa_emulation(start_pfn, last_pfn, acpi, amd)) | ||
594 | return; | 592 | return; |
595 | setup_physnodes(start_pfn << PAGE_SHIFT, last_pfn << PAGE_SHIFT, | 593 | setup_physnodes(0, max_pfn << PAGE_SHIFT, acpi, amd); |
596 | acpi, amd); | ||
597 | nodes_clear(node_possible_map); | 594 | nodes_clear(node_possible_map); |
598 | nodes_clear(node_online_map); | 595 | nodes_clear(node_online_map); |
599 | #endif | 596 | #endif |
600 | 597 | ||
601 | #ifdef CONFIG_ACPI_NUMA | 598 | #ifdef CONFIG_ACPI_NUMA |
602 | if (!numa_off && acpi && !acpi_scan_nodes(start_pfn << PAGE_SHIFT, | 599 | if (!numa_off && acpi && !acpi_scan_nodes(0, max_pfn << PAGE_SHIFT)) |
603 | last_pfn << PAGE_SHIFT)) | ||
604 | return; | 600 | return; |
605 | nodes_clear(node_possible_map); | 601 | nodes_clear(node_possible_map); |
606 | nodes_clear(node_online_map); | 602 | nodes_clear(node_online_map); |
@@ -616,8 +612,7 @@ void __init initmem_init(unsigned long start_pfn, unsigned long last_pfn, | |||
616 | numa_off ? "NUMA turned off" : "No NUMA configuration found"); | 612 | numa_off ? "NUMA turned off" : "No NUMA configuration found"); |
617 | 613 | ||
618 | printk(KERN_INFO "Faking a node at %016lx-%016lx\n", | 614 | printk(KERN_INFO "Faking a node at %016lx-%016lx\n", |
619 | start_pfn << PAGE_SHIFT, | 615 | 0LU, max_pfn << PAGE_SHIFT); |
620 | last_pfn << PAGE_SHIFT); | ||
621 | /* setup dummy node covering all memory */ | 616 | /* setup dummy node covering all memory */ |
622 | memnode_shift = 63; | 617 | memnode_shift = 63; |
623 | memnodemap = memnode.embedded_map; | 618 | memnodemap = memnode.embedded_map; |
@@ -626,9 +621,9 @@ void __init initmem_init(unsigned long start_pfn, unsigned long last_pfn, | |||
626 | node_set(0, node_possible_map); | 621 | node_set(0, node_possible_map); |
627 | for (i = 0; i < MAX_LOCAL_APIC; i++) | 622 | for (i = 0; i < MAX_LOCAL_APIC; i++) |
628 | set_apicid_to_node(i, NUMA_NO_NODE); | 623 | set_apicid_to_node(i, NUMA_NO_NODE); |
629 | memblock_x86_register_active_regions(0, start_pfn, last_pfn); | 624 | memblock_x86_register_active_regions(0, 0, max_pfn); |
630 | init_memory_mapping_high(); | 625 | init_memory_mapping_high(); |
631 | setup_node_bootmem(0, start_pfn << PAGE_SHIFT, last_pfn << PAGE_SHIFT); | 626 | setup_node_bootmem(0, 0, max_pfn << PAGE_SHIFT); |
632 | numa_init_array(); | 627 | numa_init_array(); |
633 | } | 628 | } |
634 | 629 | ||