blob: dd8c071941e7ff3b9f991989ede3acc5aaac856b [file] [log] [blame]
Michal Simekaa7eb2b2013-03-20 13:50:12 +01001/*
2 * Copyright (c) 2013 Steffen Trumtrar <s.trumtrar@pengutronix.de>
3 * Copyright (c) 2012-2013 Xilinx
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 */
9#include <linux/linkage.h>
10#include <linux/init.h>
Michal Simekeb28d0bb2014-04-11 15:05:56 +020011#include <asm/assembler.h>
Michal Simekaa7eb2b2013-03-20 13:50:12 +010012
Michal Simekaa7eb2b2013-03-20 13:50:12 +010013ENTRY(zynq_secondary_trampoline)
Michal Simekeb28d0bb2014-04-11 15:05:56 +020014ARM_BE8(setend be) @ ensure we are in BE8 mode
15 ldr r0, zynq_secondary_trampoline_jump
16ARM_BE8(rev r0, r0)
Michal Simekaa7eb2b2013-03-20 13:50:12 +010017 bx r0
18.globl zynq_secondary_trampoline_jump
19zynq_secondary_trampoline_jump:
20 /* Space for jumping address */
21 .word /* cpu 1 */
22.globl zynq_secondary_trampoline_end
23zynq_secondary_trampoline_end:
Michal Simekaa7eb2b2013-03-20 13:50:12 +010024ENDPROC(zynq_secondary_trampoline)
Soren Brinkmann6a37ff382013-10-31 09:10:15 -070025
26ENTRY(zynq_secondary_startup)
27 bl v7_invalidate_l1
28 b secondary_startup
29ENDPROC(zynq_secondary_startup)