ARM: highbank: fix secondary boot and hotplug
authorRob Herring <rob.herring@calxeda.com>
Sun, 30 Dec 2012 16:15:05 +0000 (10:15 -0600)
committerOlof Johansson <olof@lixom.net>
Tue, 8 Jan 2013 05:08:25 +0000 (21:08 -0800)
commit0b3455a71e38b9c8cf4c2e791c909618c0a72078
treecb74263e3414f9fa4dcf7d50e41aee834723ebb7
parentc05ee88f6f20746aff938a85ef49e777ef4c6513
ARM: highbank: fix secondary boot and hotplug

With commit 384a290 (ARM: gic: use a private mapping for CPU target
interfaces), wake-up IPIs now go to all cores as the gic cpu interface
numbering may not follow core numbering. This broke secondary boot on
highbank since the boot address was already set for all secondary cores,
this caused all cores to boot before the kernel was ready.

Fix this by moving the setting of the jump address to
highbank_boot_secondary instead of highbank_smp_prepare_cpus and
highbank_cpu_die. Also, clear the address when we boot. This prevents
cores from booting before they are actually triggered and is also necessary
to get suspend/resume to work.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
arch/arm/mach-highbank/hotplug.c
arch/arm/mach-highbank/platsmp.c