x86: move saving e820_saved to setup_memory_map
authorYinghai Lu <yhlu.kernel@gmail.com>
Thu, 3 Jul 2008 18:35:37 +0000 (11:35 -0700)
committerIngo Molnar <mingo@elte.hu>
Wed, 9 Jul 2008 05:43:21 +0000 (07:43 +0200)
so other path that will override memory_setup or
machine_specific_memory_setup could have e820_saved too.

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Bernhard Walle <bwalle@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/e820.c

index fc1d579f212bb1b797588454f1aad911f3c75604..13e32986cb5f74ed7424e0d0bc4031dbd94d53e9 100644 (file)
@@ -1294,8 +1294,6 @@ char *__init default_machine_specific_memory_setup(void)
                e820_add_region(HIGH_MEMORY, mem_size << 10, E820_RAM);
        }
 
-       memcpy(&e820_saved, &e820, sizeof(struct e820map));
-
        /* In case someone cares... */
        return who;
 }
@@ -1313,8 +1311,12 @@ char * __init __attribute__((weak)) memory_setup(void)
 
 void __init setup_memory_map(void)
 {
+       char *who;
+
+       who = memory_setup();
+       memcpy(&e820_saved, &e820, sizeof(struct e820map));
        printk(KERN_INFO "BIOS-provided physical RAM map:\n");
-       e820_print_map(memory_setup());
+       e820_print_map(who);
 }
 
 #ifdef CONFIG_X86_64