]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/kernel/setup.c
x86: call early_cpu_init at the same point
[linux-2.6-omap-h63xx.git] / arch / x86 / kernel / setup.c
index bbcc13d0b5696b2a239c07d2de6f664d79c6ad99..b520dae02bf4806c6a9f79fd82bf444f24daba0c 100644 (file)
@@ -92,7 +92,7 @@
 #include <asm/smp.h>
 #include <asm/desc.h>
 #include <asm/dma.h>
-#include <asm/gart.h>
+#include <asm/iommu.h>
 #include <asm/mmu_context.h>
 #include <asm/proto.h>
 
@@ -597,11 +597,11 @@ void __init setup_arch(char **cmdline_p)
        memcpy(&boot_cpu_data, &new_cpu_data, sizeof(new_cpu_data));
        visws_early_detect();
        pre_setup_arch_hook();
-       early_cpu_init();
 #else
        printk(KERN_INFO "Command line: %s\n", boot_command_line);
 #endif
 
+       early_cpu_init();
        early_ioremap_init();
 
        ROOT_DEV = old_decode_dev(boot_params.hdr.root_dev);
@@ -665,9 +665,6 @@ void __init setup_arch(char **cmdline_p)
        bss_resource.start = virt_to_phys(&__bss_start);
        bss_resource.end = virt_to_phys(&__bss_stop)-1;
 
-#ifdef CONFIG_X86_64
-       early_cpu_init();
-#endif
        strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE);
        *cmdline_p = command_line;
 
@@ -680,7 +677,7 @@ void __init setup_arch(char **cmdline_p)
 #ifdef CONFIG_X86_LOCAL_APIC
                disable_apic = 1;
 #endif
-               clear_cpu_cap(&boot_cpu_data, X86_FEATURE_APIC);
+               setup_clear_cpu_cap(X86_FEATURE_APIC);
        }
 
 #ifdef CONFIG_PCI
@@ -823,7 +820,10 @@ void __init setup_arch(char **cmdline_p)
        vmi_init();
 #endif
 
+       paravirt_pagetable_setup_start(swapper_pg_dir);
        paging_init();
+       paravirt_pagetable_setup_done(swapper_pg_dir);
+       paravirt_post_allocator_init();
 
 #ifdef CONFIG_X86_64
        map_vsyscall();
@@ -853,14 +853,6 @@ void __init setup_arch(char **cmdline_p)
        init_cpu_to_node();
 #endif
 
-#ifdef CONFIG_X86_NUMAQ
-       /*
-        * need to check online nodes num, call it
-        * here before time_init/tsc_init
-        */
-       numaq_tsc_disable();
-#endif
-
        init_apic_mappings();
        ioapic_init_mappings();