diff options
author | Yinghai Lu <yhlu.kernel@gmail.com> | 2008-06-13 23:07:03 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-08 04:36:34 -0400 |
commit | 9a27f5c51629c3d3b7718dd4be3d2722b472fafe (patch) | |
tree | 8bb766881b6a1b6b05114993ac8ec41a5e8dd03b /arch/x86/kernel/setup_32.c | |
parent | cc1050bafebfb1d7935331282e948b5016318192 (diff) |
x86: clean up relocate_initrd
1. move that before zone_sizes_init ...
2. add free_early for one old one, otherwise it will be be reserved again
when we init highmem.
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/setup_32.c')
-rw-r--r-- | arch/x86/kernel/setup_32.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c index 1d4be07e15e5..72b11d4557b7 100644 --- a/arch/x86/kernel/setup_32.c +++ b/arch/x86/kernel/setup_32.c | |||
@@ -584,6 +584,9 @@ static void __init relocate_initrd(void) | |||
584 | printk(KERN_INFO "Copied RAMDISK from %016llx - %016llx to %08llx - %08llx\n", | 584 | printk(KERN_INFO "Copied RAMDISK from %016llx - %016llx to %08llx - %08llx\n", |
585 | ramdisk_image, ramdisk_image + ramdisk_size - 1, | 585 | ramdisk_image, ramdisk_image + ramdisk_size - 1, |
586 | ramdisk_here, ramdisk_here + ramdisk_size - 1); | 586 | ramdisk_here, ramdisk_here + ramdisk_size - 1); |
587 | |||
588 | /* need to free that, otherwise init highmem will reserve it again */ | ||
589 | free_early(ramdisk_image, ramdisk_image+ramdisk_size); | ||
587 | } | 590 | } |
588 | 591 | ||
589 | #endif /* CONFIG_BLK_DEV_INITRD */ | 592 | #endif /* CONFIG_BLK_DEV_INITRD */ |
@@ -801,10 +804,6 @@ void __init setup_arch(char **cmdline_p) | |||
801 | init_ohci1394_dma_on_all_controllers(); | 804 | init_ohci1394_dma_on_all_controllers(); |
802 | #endif | 805 | #endif |
803 | 806 | ||
804 | remapped_pgdat_init(); | ||
805 | sparse_init(); | ||
806 | zone_sizes_init(); | ||
807 | |||
808 | /* | 807 | /* |
809 | * NOTE: at this point the bootmem allocator is fully available. | 808 | * NOTE: at this point the bootmem allocator is fully available. |
810 | */ | 809 | */ |
@@ -813,6 +812,10 @@ void __init setup_arch(char **cmdline_p) | |||
813 | relocate_initrd(); | 812 | relocate_initrd(); |
814 | #endif | 813 | #endif |
815 | 814 | ||
815 | remapped_pgdat_init(); | ||
816 | sparse_init(); | ||
817 | zone_sizes_init(); | ||
818 | |||
816 | paravirt_post_allocator_init(); | 819 | paravirt_post_allocator_init(); |
817 | 820 | ||
818 | dmi_scan_machine(); | 821 | dmi_scan_machine(); |