x86, 32-bit: change propagate_e820_map() back to find_max_pfn()
authorYinghai Lu <yhlu.kernel@gmail.com>
Sun, 1 Jun 2008 05:52:47 +0000 (22:52 -0700)
committerIngo Molnar <mingo@elte.hu>
Tue, 3 Jun 2008 11:26:25 +0000 (13:26 +0200)
we don't need to call memory_present that early.
numa and sparse will call memory_present later and might
even fail, it will call memory_present for the full range.

also for sparse it will call alloc_bootmem ... before we set up bootmem.

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/e820_32.c
arch/x86/kernel/setup_32.c
arch/x86/mm/discontig_32.c
include/asm-x86/e820_32.h

index db760d4706af6eff0159df93d7aa23e1f621b43f..0c025d04fc2e152fa3a088318c3b231884cdcbd3 100644 (file)
@@ -210,7 +210,7 @@ void __init init_iomem_resources(struct resource *code_resource,
 /*
  * Find the highest page frame number we have available
  */
-void __init propagate_e820_map(void)
+void __init find_max_pfn(void)
 {
        int i;
 
@@ -227,7 +227,6 @@ void __init propagate_e820_map(void)
                        continue;
                if (end > max_pfn)
                        max_pfn = end;
-               memory_present(0, start, end);
        }
 }
 
@@ -361,7 +360,7 @@ static int __init parse_memmap(char *arg)
                 * size before original memory map is
                 * reset.
                 */
-               propagate_e820_map();
+               find_max_pfn();
                saved_max_pfn = max_pfn;
 #endif
                e820.nr_map = 0;
index 6f40cb560ea9e74de6695f540463e2d33783adff..29010420458dd163bb64617962a52aafc2402102 100644 (file)
@@ -730,10 +730,10 @@ void __init setup_arch(char **cmdline_p)
                efi_init();
 
        /* update e820 for memory not covered by WB MTRRs */
-       propagate_e820_map();
+       find_max_pfn();
        mtrr_bp_init();
        if (mtrr_trim_uncached_memory(max_pfn))
-               propagate_e820_map();
+               find_max_pfn();
 
        max_low_pfn = setup_memory();
 
index 98b099eeab3a14b8d582aec0dc0368c307ef102e..ebbbba338150eb1aec69b33a5c323eaf64d7c117 100644 (file)
@@ -120,7 +120,7 @@ int __init get_memcfg_numa_flat(void)
        printk("NUMA - single node, flat memory mode\n");
 
        /* Run the memory configuration and find the top of memory. */
-       propagate_e820_map();
+       find_max_pfn();
        node_start_pfn[0] = 0;
        node_end_pfn[0] = max_pfn;
        memory_present(0, 0, max_pfn);
index 7ace82570a36033831c7688f83990e49c6adca9a..00fbc60b9d30910f3e144af2f53a4d149e409cf4 100644 (file)
@@ -21,7 +21,7 @@
 extern void setup_memory_map(void);
 extern void finish_e820_parsing(void);
 
-extern void propagate_e820_map(void);
+extern void find_max_pfn(void);
 extern void register_bootmem_low_pages(unsigned long max_low_pfn);
 extern void limit_regions(unsigned long long size);
 extern void init_iomem_resources(struct resource *code_resource,