From: Mark Brown Date: Fri, 16 May 2014 14:36:15 +0000 (+0100) Subject: Merge remote-tracking branch 'lsk/v3.10/topic/arm64-cpu' into lsk-v3.10-arm64-misc X-Git-Tag: firefly_0821_release~3680^2~35^2~1^2~66 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=6b8b8223b534f121c546d3f9d1605ee75fac1f85;p=firefly-linux-kernel-4.4.55.git Merge remote-tracking branch 'lsk/v3.10/topic/arm64-cpu' into lsk-v3.10-arm64-misc Conflicts: arch/arm64/kernel/smp.c --- 6b8b8223b534f121c546d3f9d1605ee75fac1f85 diff --cc arch/arm64/Kconfig index dba7308041ad,022f20097930..40bbfe560551 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@@ -151,9 -148,15 +151,16 @@@ config NR_CPU int "Maximum number of CPUs (2-32)" range 2 32 depends on SMP - default "4" + # These have to remain sorted largest to smallest + default "8" + config HOTPLUG_CPU + bool "Support for hot-pluggable CPUs" + depends on SMP + help + Say Y here to experiment with turning CPUs off and on. CPUs + can be controlled through /sys/devices/system/cpu. + source kernel/Kconfig.preempt config HZ diff --cc arch/arm64/kernel/smp.c index 97eaf79319d5,e0b7c0e45b87..53ed158ec31c --- a/arch/arm64/kernel/smp.c +++ b/arch/arm64/kernel/smp.c @@@ -187,18 -142,16 +142,9 @@@ asmlinkage void __cpuinit secondary_sta preempt_disable(); trace_hardirqs_off(); - /* - * Let the primary processor know we're out of the - * pen, then head off into the C entry point - */ - write_pen_release(INVALID_HWID); - - /* - * Synchronise with the boot thread. - */ - raw_spin_lock(&boot_lock); - raw_spin_unlock(&boot_lock); + if (cpu_ops[cpu]->cpu_postboot) + cpu_ops[cpu]->cpu_postboot(); - /* - * Enable local interrupts. - */ - notify_cpu_starting(cpu); - local_irq_enable(); - local_fiq_enable(); - /* * OK, now it's safe to let the boot CPU continue. Wait for * the CPU migration code to notice that the CPU is online