aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorYinghai Lu <yhlu.kernel@gmail.com>2008-06-13 23:07:03 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-08 04:36:34 -0400
commit9a27f5c51629c3d3b7718dd4be3d2722b472fafe (patch)
tree8bb766881b6a1b6b05114993ac8ec41a5e8dd03b /arch
parentcc1050bafebfb1d7935331282e948b5016318192 (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')
-rw-r--r--arch/x86/kernel/setup_32.c11
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();