summaryrefslogtreecommitdiff
path: root/arch/arm/mach-zynq/headsmp.S
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@xilinx.com>2014-04-11 15:05:56 +0200
committerMichal Simek <michal.simek@xilinx.com>2014-05-20 16:17:13 +0200
commiteb28d0bb857f01ff972f8b359c962eef9ecf1b64 (patch)
tree89e5d5417a11dd5427283ac57e2bca3b7a10023b /arch/arm/mach-zynq/headsmp.S
parent90a6695a2ac1b9db8e0f4bfec3156c22a722d9ba (diff)
ARM: zynq: Enable big-endian
Enable ARCH_SUPPORTS_BIG_ENDIAN in Kconfig. zynq_secondary_trampoline is the first function that is called on secondary CPU. Reference: "ARM: mcpm: fix big endian issue in mcpm startup code" (sha1: 519ceb9fd10cd7e836d0aa97b2068cc9e97f463b) Fix early printk support. Based on: "ARM: pl01x debug code endian fix" (sha1: 76e3faf156fa95b6465e747d702b94faf67117fc) Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'arch/arm/mach-zynq/headsmp.S')
-rw-r--r--arch/arm/mach-zynq/headsmp.S5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/mach-zynq/headsmp.S b/arch/arm/mach-zynq/headsmp.S
index 57a32869f0aa..dd8c071941e7 100644
--- a/arch/arm/mach-zynq/headsmp.S
+++ b/arch/arm/mach-zynq/headsmp.S
@@ -8,9 +8,12 @@
*/
#include <linux/linkage.h>
#include <linux/init.h>
+#include <asm/assembler.h>
ENTRY(zynq_secondary_trampoline)
- ldr r0, [pc]
+ARM_BE8(setend be) @ ensure we are in BE8 mode
+ ldr r0, zynq_secondary_trampoline_jump
+ARM_BE8(rev r0, r0)
bx r0
.globl zynq_secondary_trampoline_jump
zynq_secondary_trampoline_jump: