ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+
[sfrench/cifs-2.6.git] / arch / arm / mach-mvebu / headsmp-a9.S
1 /*
2  * SMP support: Entry point for secondary CPUs of Marvell EBU
3  * Cortex-A9 based SOCs (Armada 375 and Armada 38x).
4  *
5  * Copyright (C) 2014 Marvell
6  *
7  * Gregory CLEMENT <gregory.clement@free-electrons.com>
8  * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9  *
10  * This file is licensed under the terms of the GNU General Public
11  * License version 2.  This program is licensed "as is" without any
12  * warranty of any kind, whether express or implied.
13  */
14
15 #include <linux/linkage.h>
16 #include <linux/init.h>
17 #include <asm/assembler.h>
18
19         __CPUINIT
20 #define CPU_RESUME_ADDR_REG 0xf10182d4
21
22 .global armada_375_smp_cpu1_enable_code_start
23 .global armada_375_smp_cpu1_enable_code_end
24
25 armada_375_smp_cpu1_enable_code_start:
26         ldr     r0, [pc, #4]
27         ldr     r1, [r0]
28         ret     r1
29         .word   CPU_RESUME_ADDR_REG
30 armada_375_smp_cpu1_enable_code_end:
31
32 ENTRY(mvebu_cortex_a9_secondary_startup)
33         bl      v7_invalidate_l1
34         b       secondary_startup
35 ENDPROC(mvebu_cortex_a9_secondary_startup)