aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/setup.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-08-14 08:58:01 -0400
committerIngo Molnar <mingo@elte.hu>2008-08-14 08:58:01 -0400
commit51ca3c679194e7435c25b8e77b0a73c597e41ae9 (patch)
treea681dca369607ab0f371d5246b0f75140b860a8a /arch/x86/kernel/setup.c
parentb55793f7528ce1b73c25b3ac8a86a6cda2a0f9a4 (diff)
parentb635acec48bcaa9183fcbf4e3955616b0d4119b5 (diff)
Merge branch 'linus' into x86/core
Conflicts: arch/x86/kernel/genapic_64.c include/asm-x86/kvm_host.h Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/setup.c')
-rw-r--r--arch/x86/kernel/setup.c35
1 files changed, 17 insertions, 18 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 792b87853a76..59f07e14d083 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -604,6 +604,14 @@ void __init setup_arch(char **cmdline_p)
604 early_cpu_init(); 604 early_cpu_init();
605 early_ioremap_init(); 605 early_ioremap_init();
606 606
607#if defined(CONFIG_VMI) && defined(CONFIG_X86_32)
608 /*
609 * Must be before kernel pagetables are setup
610 * or fixmap area is touched.
611 */
612 vmi_init();
613#endif
614
607 ROOT_DEV = old_decode_dev(boot_params.hdr.root_dev); 615 ROOT_DEV = old_decode_dev(boot_params.hdr.root_dev);
608 screen_info = boot_params.screen_info; 616 screen_info = boot_params.screen_info;
609 edid_info = boot_params.edid_info; 617 edid_info = boot_params.edid_info;
@@ -790,10 +798,6 @@ void __init setup_arch(char **cmdline_p)
790 798
791 initmem_init(0, max_pfn); 799 initmem_init(0, max_pfn);
792 800
793#ifdef CONFIG_X86_64
794 dma32_reserve_bootmem();
795#endif
796
797#ifdef CONFIG_ACPI_SLEEP 801#ifdef CONFIG_ACPI_SLEEP
798 /* 802 /*
799 * Reserve low memory region for sleep support. 803 * Reserve low memory region for sleep support.
@@ -808,20 +812,21 @@ void __init setup_arch(char **cmdline_p)
808#endif 812#endif
809 reserve_crashkernel(); 813 reserve_crashkernel();
810 814
815#ifdef CONFIG_X86_64
816 /*
817 * dma32_reserve_bootmem() allocates bootmem which may conflict
818 * with the crashkernel command line, so do that after
819 * reserve_crashkernel()
820 */
821 dma32_reserve_bootmem();
822#endif
823
811 reserve_ibft_region(); 824 reserve_ibft_region();
812 825
813#ifdef CONFIG_KVM_CLOCK 826#ifdef CONFIG_KVM_CLOCK
814 kvmclock_init(); 827 kvmclock_init();
815#endif 828#endif
816 829
817#if defined(CONFIG_VMI) && defined(CONFIG_X86_32)
818 /*
819 * Must be after max_low_pfn is determined, and before kernel
820 * pagetables are setup.
821 */
822 vmi_init();
823#endif
824
825 paravirt_pagetable_setup_start(swapper_pg_dir); 830 paravirt_pagetable_setup_start(swapper_pg_dir);
826 paging_init(); 831 paging_init();
827 paravirt_pagetable_setup_done(swapper_pg_dir); 832 paravirt_pagetable_setup_done(swapper_pg_dir);
@@ -858,12 +863,6 @@ void __init setup_arch(char **cmdline_p)
858 init_apic_mappings(); 863 init_apic_mappings();
859 ioapic_init_mappings(); 864 ioapic_init_mappings();
860 865
861#if defined(CONFIG_SMP) && defined(CONFIG_X86_PC) && defined(CONFIG_X86_32)
862 if (def_to_bigsmp)
863 printk(KERN_WARNING "More than 8 CPUs detected and "
864 "CONFIG_X86_PC cannot handle it.\nUse "
865 "CONFIG_X86_GENERICARCH or CONFIG_X86_BIGSMP.\n");
866#endif
867 kvm_guest_init(); 866 kvm_guest_init();
868 867
869 e820_reserve_resources(); 868 e820_reserve_resources();