Merge tag 'renesas-soc-fixes3-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / arch / arm / mach-bcm / headsmp-brcmstb.S
1 /*
2  * SMP boot code for secondary CPUs
3  * Based on arch/arm/mach-tegra/headsmp.S
4  *
5  * Copyright (C) 2010 NVIDIA, Inc.
6  * Copyright (C) 2013-2014 Broadcom Corporation
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License as
10  * published by the Free Software Foundation version 2.
11  *
12  * This program is distributed "as is" WITHOUT ANY WARRANTY of any
13  * kind, whether express or implied; without even the implied warranty
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  */
17
18 #include <asm/assembler.h>
19 #include <linux/linkage.h>
20 #include <linux/init.h>
21
22         .section ".text.head", "ax"
23
24 ENTRY(brcmstb_secondary_startup)
25         /*
26          * Ensure CPU is in a sane state by disabling all IRQs and switching
27          * into SVC mode.
28          */
29         setmode PSR_I_BIT | PSR_F_BIT | SVC_MODE, r0
30
31         bl      v7_invalidate_l1
32         b       secondary_startup
33 ENDPROC(brcmstb_secondary_startup)