aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/smp_64.c1
-rw-r--r--arch/x86/kernel/smpboot_64.c2
-rw-r--r--include/asm-x86/smp.h6
-rw-r--r--include/asm-x86/smp_32.h5
4 files changed, 8 insertions, 6 deletions
diff --git a/arch/x86/kernel/smp_64.c b/arch/x86/kernel/smp_64.c
index 05116c1ddb6f..c520374be1a8 100644
--- a/arch/x86/kernel/smp_64.c
+++ b/arch/x86/kernel/smp_64.c
@@ -531,6 +531,7 @@ asmlinkage void smp_call_function_interrupt(void)
531 531
532struct smp_ops smp_ops = { 532struct smp_ops smp_ops = {
533 .smp_prepare_boot_cpu = native_smp_prepare_boot_cpu, 533 .smp_prepare_boot_cpu = native_smp_prepare_boot_cpu,
534 .smp_prepare_cpus = native_smp_prepare_cpus,
534 .smp_send_reschedule = native_smp_send_reschedule, 535 .smp_send_reschedule = native_smp_send_reschedule,
535 .smp_call_function_mask = native_smp_call_function_mask, 536 .smp_call_function_mask = native_smp_call_function_mask,
536 .cpu_up = native_cpu_up, 537 .cpu_up = native_cpu_up,
diff --git a/arch/x86/kernel/smpboot_64.c b/arch/x86/kernel/smpboot_64.c
index 47e654cdc92d..b106983050b0 100644
--- a/arch/x86/kernel/smpboot_64.c
+++ b/arch/x86/kernel/smpboot_64.c
@@ -867,7 +867,7 @@ static void __init smp_cpu_index_default(void)
867 * Prepare for SMP bootup. The MP table or ACPI has been read 867 * Prepare for SMP bootup. The MP table or ACPI has been read
868 * earlier. Just do some sanity checking here and enable APIC mode. 868 * earlier. Just do some sanity checking here and enable APIC mode.
869 */ 869 */
870void __init smp_prepare_cpus(unsigned int max_cpus) 870void __init native_smp_prepare_cpus(unsigned int max_cpus)
871{ 871{
872 nmi_watchdog_default(); 872 nmi_watchdog_default();
873 smp_cpu_index_default(); 873 smp_cpu_index_default();
diff --git a/include/asm-x86/smp.h b/include/asm-x86/smp.h
index a2d69a1bec24..31bd99ddd8c2 100644
--- a/include/asm-x86/smp.h
+++ b/include/asm-x86/smp.h
@@ -29,6 +29,11 @@ static inline void smp_prepare_boot_cpu(void)
29 smp_ops.smp_prepare_boot_cpu(); 29 smp_ops.smp_prepare_boot_cpu();
30} 30}
31 31
32static inline void smp_prepare_cpus(unsigned int max_cpus)
33{
34 smp_ops.smp_prepare_cpus(max_cpus);
35}
36
32static inline int __cpu_up(unsigned int cpu) 37static inline int __cpu_up(unsigned int cpu)
33{ 38{
34 return smp_ops.cpu_up(cpu); 39 return smp_ops.cpu_up(cpu);
@@ -47,6 +52,7 @@ static inline int smp_call_function_mask(cpumask_t mask,
47} 52}
48 53
49void native_smp_prepare_boot_cpu(void); 54void native_smp_prepare_boot_cpu(void);
55void native_smp_prepare_cpus(unsigned int max_cpus);
50int native_cpu_up(unsigned int cpunum); 56int native_cpu_up(unsigned int cpunum);
51#endif 57#endif
52 58
diff --git a/include/asm-x86/smp_32.h b/include/asm-x86/smp_32.h
index 2c7ecfaa8234..50785389680b 100644
--- a/include/asm-x86/smp_32.h
+++ b/include/asm-x86/smp_32.h
@@ -39,10 +39,6 @@ extern void remove_siblinginfo(int cpu);
39extern void set_cpu_sibling_map(int cpu); 39extern void set_cpu_sibling_map(int cpu);
40 40
41#ifdef CONFIG_SMP 41#ifdef CONFIG_SMP
42static inline void smp_prepare_cpus(unsigned int max_cpus)
43{
44 smp_ops.smp_prepare_cpus(max_cpus);
45}
46static inline void smp_cpus_done(unsigned int max_cpus) 42static inline void smp_cpus_done(unsigned int max_cpus)
47{ 43{
48 smp_ops.smp_cpus_done(max_cpus); 44 smp_ops.smp_cpus_done(max_cpus);
@@ -53,7 +49,6 @@ static inline void smp_send_stop(void)
53 smp_ops.smp_send_stop(); 49 smp_ops.smp_send_stop();
54} 50}
55 51
56void native_smp_prepare_cpus(unsigned int max_cpus);
57void native_smp_cpus_done(unsigned int max_cpus); 52void native_smp_cpus_done(unsigned int max_cpus);
58 53
59#ifndef CONFIG_PARAVIRT 54#ifndef CONFIG_PARAVIRT