powerpc/4xx: Fix regression in SMP on 476
commit c56e58537d
breaks SMP support in PPC_47x chip.
secondary_ti must be set to current thread info before callin kick_cpu or else
start_secondary_47x will jump into void when trying to return to c-code.
In the current setup secondary_ti is initialized before the CPU idle task is started
and only the boot core will start. I am not sure this is the correct solution, but it
makes SMP possible in my chip.
Note! The HOTPLUG support probably need some fixing to, There is no trampoline code
available in head_44x.S - start_secondary_resume?
Signed-off-by: Kerstin Jonsson <kerstin.jonsson@ericsson.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
35d215fbe4
commit
c560bbceaf
1 changed files with 2 additions and 2 deletions
|
@ -410,8 +410,6 @@ int __cpuinit __cpu_up(unsigned int cpu)
|
||||||
{
|
{
|
||||||
int rc, c;
|
int rc, c;
|
||||||
|
|
||||||
secondary_ti = current_set[cpu];
|
|
||||||
|
|
||||||
if (smp_ops == NULL ||
|
if (smp_ops == NULL ||
|
||||||
(smp_ops->cpu_bootable && !smp_ops->cpu_bootable(cpu)))
|
(smp_ops->cpu_bootable && !smp_ops->cpu_bootable(cpu)))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
@ -421,6 +419,8 @@ int __cpuinit __cpu_up(unsigned int cpu)
|
||||||
if (rc)
|
if (rc)
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
|
secondary_ti = current_set[cpu];
|
||||||
|
|
||||||
/* Make sure callin-map entry is 0 (can be leftover a CPU
|
/* Make sure callin-map entry is 0 (can be leftover a CPU
|
||||||
* hotplug
|
* hotplug
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue