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 7cc20a3c6c19..05116c1ddb6f 100644
--- a/arch/x86/kernel/smp_64.c
+++ b/arch/x86/kernel/smp_64.c
@@ -530,6 +530,7 @@ asmlinkage void smp_call_function_interrupt(void)
530} 530}
531 531
532struct smp_ops smp_ops = { 532struct smp_ops smp_ops = {
533 .smp_prepare_boot_cpu = native_smp_prepare_boot_cpu,
533 .smp_send_reschedule = native_smp_send_reschedule, 534 .smp_send_reschedule = native_smp_send_reschedule,
534 .smp_call_function_mask = native_smp_call_function_mask, 535 .smp_call_function_mask = native_smp_call_function_mask,
535 .cpu_up = native_cpu_up, 536 .cpu_up = native_cpu_up,
diff --git a/arch/x86/kernel/smpboot_64.c b/arch/x86/kernel/smpboot_64.c
index e381fe7792c4..47e654cdc92d 100644
--- a/arch/x86/kernel/smpboot_64.c
+++ b/arch/x86/kernel/smpboot_64.c
@@ -918,7 +918,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
918/* 918/*
919 * Early setup to make printk work. 919 * Early setup to make printk work.
920 */ 920 */
921void __init smp_prepare_boot_cpu(void) 921void __init native_smp_prepare_boot_cpu(void)
922{ 922{
923 int me = smp_processor_id(); 923 int me = smp_processor_id();
924 /* already set me in cpu_online_map in boot_cpu_init() */ 924 /* already set me in cpu_online_map in boot_cpu_init() */
diff --git a/include/asm-x86/smp.h b/include/asm-x86/smp.h
index 7dd71410fe7d..a2d69a1bec24 100644
--- a/include/asm-x86/smp.h
+++ b/include/asm-x86/smp.h
@@ -24,6 +24,11 @@ struct smp_ops {
24#ifdef CONFIG_SMP 24#ifdef CONFIG_SMP
25extern struct smp_ops smp_ops; 25extern struct smp_ops smp_ops;
26 26
27static inline void smp_prepare_boot_cpu(void)
28{
29 smp_ops.smp_prepare_boot_cpu();
30}
31
27static inline int __cpu_up(unsigned int cpu) 32static inline int __cpu_up(unsigned int cpu)
28{ 33{
29 return smp_ops.cpu_up(cpu); 34 return smp_ops.cpu_up(cpu);
@@ -41,6 +46,7 @@ static inline int smp_call_function_mask(cpumask_t mask,
41 return smp_ops.smp_call_function_mask(mask, func, info, wait); 46 return smp_ops.smp_call_function_mask(mask, func, info, wait);
42} 47}
43 48
49void native_smp_prepare_boot_cpu(void);
44int native_cpu_up(unsigned int cpunum); 50int native_cpu_up(unsigned int cpunum);
45#endif 51#endif
46 52
diff --git a/include/asm-x86/smp_32.h b/include/asm-x86/smp_32.h
index a7fab8e1517a..2c7ecfaa8234 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_boot_cpu(void)
43{
44 smp_ops.smp_prepare_boot_cpu();
45}
46static inline void smp_prepare_cpus(unsigned int max_cpus) 42static inline void smp_prepare_cpus(unsigned int max_cpus)
47{ 43{
48 smp_ops.smp_prepare_cpus(max_cpus); 44 smp_ops.smp_prepare_cpus(max_cpus);
@@ -57,7 +53,6 @@ static inline void smp_send_stop(void)
57 smp_ops.smp_send_stop(); 53 smp_ops.smp_send_stop();
58} 54}
59 55
60void native_smp_prepare_boot_cpu(void);
61void native_smp_prepare_cpus(unsigned int max_cpus); 56void native_smp_prepare_cpus(unsigned int max_cpus);
62void native_smp_cpus_done(unsigned int max_cpus); 57void native_smp_cpus_done(unsigned int max_cpus);
63 58