Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f595063 authored by Luis Araneda's avatar Luis Araneda Committed by Michal Simek
Browse files

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 5616f367
("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: default avatarLuis Araneda <luaraneda@gmail.com>
Suggested-by: default avatarMichal Simek <michal.simek@xilinx.com>
Signed-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
parent 5f9e832c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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);
}

/*