aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-zynq/headsmp.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-zynq/headsmp.S')
-rw-r--r--arch/arm/mach-zynq/headsmp.S13
1 files changed, 9 insertions, 4 deletions
diff --git a/arch/arm/mach-zynq/headsmp.S b/arch/arm/mach-zynq/headsmp.S
index d183cd234a9..dd8c071941e 100644
--- a/arch/arm/mach-zynq/headsmp.S
+++ b/arch/arm/mach-zynq/headsmp.S
@@ -8,11 +8,12 @@
*/
#include <linux/linkage.h>
#include <linux/init.h>
-
- __CPUINIT
+#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:
@@ -20,5 +21,9 @@ zynq_secondary_trampoline_jump:
.word /* cpu 1 */
.globl zynq_secondary_trampoline_end
zynq_secondary_trampoline_end:
-
ENDPROC(zynq_secondary_trampoline)
+
+ENTRY(zynq_secondary_startup)
+ bl v7_invalidate_l1
+ b secondary_startup
+ENDPROC(zynq_secondary_startup)