ARM: zynq: Support smp in thumb mode
Add .arm directive to headsmp.S to ensure that the
CPU starts in 32-bit ARM mode and the correct code
size is copied on smp bring-up.
This is related to the fix applied to SoCFPGA by
commit 5616f36713
("ARM: SoCFPGA: Fix secondary CPU startup in thumb2 kernel")
Additionally, start secondary CPUs on secondary_startup_arm
to automatically switch from ARM to thumb on a thumb kernel
Signed-off-by: Luis Araneda <luaraneda@gmail.com>
Suggested-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
5f9e832c13
commit
5f595063af
|
@ -7,6 +7,8 @@
|
|||
#include <linux/init.h>
|
||||
#include <asm/assembler.h>
|
||||
|
||||
.arm
|
||||
|
||||
ENTRY(zynq_secondary_trampoline)
|
||||
ARM_BE8(setend be) @ ensure we are in BE8 mode
|
||||
ldr r0, zynq_secondary_trampoline_jump
|
||||
|
|
|
@ -81,7 +81,7 @@ EXPORT_SYMBOL(zynq_cpun_start);
|
|||
|
||||
static int zynq_boot_secondary(unsigned int cpu, struct task_struct *idle)
|
||||
{
|
||||
return zynq_cpun_start(__pa_symbol(secondary_startup), cpu);
|
||||
return zynq_cpun_start(__pa_symbol(secondary_startup_arm), cpu);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue