ARM: Xilinx Zynq SoC patches for v5.4

- Add support for SMP in thumb mode
 - Fix SMP trampoline code when FORTIFY_SOURCE is enabled
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCXW5yWgAKCRDKSWXLKUoM
 ISrxAJ4vzP6qLTLr2vN9qDQ4XM63kQ/RiQCdEEBejxseeXtdj1xO+s4NebRlkiA=
 =0zGR
 -----END PGP SIGNATURE-----

Merge tag 'zynq-soc-for-v5.4' of https://github.com/Xilinx/linux-xlnx into arm/soc

ARM: Xilinx Zynq SoC patches for v5.4

- Add support for SMP in thumb mode
- Fix SMP trampoline code when FORTIFY_SOURCE is enabled

* tag 'zynq-soc-for-v5.4' of https://github.com/Xilinx/linux-xlnx:
  ARM: zynq: Use memcpy_toio instead of memcpy on smp bring-up
  ARM: zynq: Support smp in thumb mode

Link: https://lore.kernel.org/r/8e00ba70-9403-4bf7-2870-a94758e37346@monstr.eu
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2019-09-03 23:09:32 +02:00
commit e8606cd481
2 changed files with 4 additions and 2 deletions

View File

@ -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

View File

@ -57,7 +57,7 @@ int zynq_cpun_start(u32 address, int cpu)
* 0x4: Jump by mov instruction
* 0x8: Jumping address
*/
memcpy((__force void *)zero, &zynq_secondary_trampoline,
memcpy_toio(zero, &zynq_secondary_trampoline,
trampoline_size);
writel(address, zero + trampoline_size);
@ -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);
}
/*