Convert s390 to use the generic framework to boot secondary CPUs. Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: linux390@xxxxxxxxxx (supporter:S390) Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jan Glauber <jang@xxxxxxxxxxxxxxxxxx> Cc: linux-s390@xxxxxxxxxxxxxxx Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@xxxxxxxxxxxxxxxxxx> --- arch/s390/kernel/smp.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index 14c8a08..3eb12e6 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c @@ -29,6 +29,7 @@ #include <linux/interrupt.h> #include <linux/irqflags.h> #include <linux/cpu.h> +#include <linux/smpboot.h> #include <linux/slab.h> #include <linux/crash_dump.h> #include <asm/asm-offsets.h> @@ -702,6 +703,11 @@ static void __init smp_detect_cpus(void) */ static void __cpuinit smp_start_secondary(void *cpuvoid) { + smpboot_start_secondary(cpuvoid); +} + +void __cpuinit __cpu_pre_starting(void *unused) +{ S390_lowcore.last_update_clock = get_clock(); S390_lowcore.restart_stack = (unsigned long) restart_stack; S390_lowcore.restart_fn = (unsigned long) do_restart; @@ -711,15 +717,9 @@ static void __cpuinit smp_start_secondary(void *cpuvoid) __ctl_load(S390_lowcore.cregs_save_area, 0, 15); __load_psw_mask(psw_kernel_bits | PSW_MASK_DAT); cpu_init(); - preempt_disable(); init_cpu_timer(); init_cpu_vtimer(); pfault_init(); - notify_cpu_starting(smp_processor_id()); - set_cpu_online(smp_processor_id(), true); - local_irq_enable(); - /* cpu_idle will call schedule for us */ - cpu_idle(); } /* Upping and downing of CPUs */ -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html