|
@@ -232,12 +232,6 @@ static void notrace start_secondary(void *unused)
|
|
*/
|
|
*/
|
|
if (boot_cpu_has(X86_FEATURE_PCID))
|
|
if (boot_cpu_has(X86_FEATURE_PCID))
|
|
__write_cr4(__read_cr4() | X86_CR4_PCIDE);
|
|
__write_cr4(__read_cr4() | X86_CR4_PCIDE);
|
|
- cpu_init();
|
|
|
|
- x86_cpuinit.early_percpu_clock_init();
|
|
|
|
- preempt_disable();
|
|
|
|
- smp_callin();
|
|
|
|
-
|
|
|
|
- enable_start_cpu0 = 0;
|
|
|
|
|
|
|
|
#ifdef CONFIG_X86_32
|
|
#ifdef CONFIG_X86_32
|
|
/* switch away from the initial page table */
|
|
/* switch away from the initial page table */
|
|
@@ -245,6 +239,13 @@ static void notrace start_secondary(void *unused)
|
|
__flush_tlb_all();
|
|
__flush_tlb_all();
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+ cpu_init();
|
|
|
|
+ x86_cpuinit.early_percpu_clock_init();
|
|
|
|
+ preempt_disable();
|
|
|
|
+ smp_callin();
|
|
|
|
+
|
|
|
|
+ enable_start_cpu0 = 0;
|
|
|
|
+
|
|
/* otherwise gcc will move up smp_processor_id before the cpu_init */
|
|
/* otherwise gcc will move up smp_processor_id before the cpu_init */
|
|
barrier();
|
|
barrier();
|
|
/*
|
|
/*
|