]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blame - arch/arm/plat-versatile/headsmp.S
ARM: dts: exynos: Mark LDO10 as always-on on Peach Pit/Pi Chromebooks
[mirror_ubuntu-eoan-kernel.git] / arch / arm / plat-versatile / headsmp.S
CommitLineData
d2912cb1 1/* SPDX-License-Identifier: GPL-2.0-only */
59ac59f6 2/*
0462b447 3 * linux/arch/arm/plat-versatile/headsmp.S
59ac59f6
RK
4 *
5 * Copyright (c) 2003 ARM Limited
6 * All Rights Reserved
59ac59f6
RK
7 */
8#include <linux/linkage.h>
9#include <linux/init.h>
98dec91f 10#include <asm/assembler.h>
59ac59f6 11
59ac59f6 12/*
0462b447
RK
13 * Realview/Versatile Express specific entry point for secondary CPUs.
14 * This provides a "holding pen" into which all secondary cores are held
59ac59f6
RK
15 * until we're ready for them to initialise.
16 */
0462b447 17ENTRY(versatile_secondary_startup)
98dec91f 18 ARM_BE8(setend be)
59ac59f6 19 mrc p15, 0, r0, c0, c0, 5
1585defb 20 bic r0, #0xff000000
59ac59f6
RK
21 adr r4, 1f
22 ldmia r4, {r5, r6}
23 sub r4, r4, r5
24 add r6, r6, r4
25pen: ldr r7, [r6]
26 cmp r7, r0
27 bne pen
28
29 /*
30 * we've been released from the holding pen: secondary_stack
31 * should now contain the SVC stack for this core
32 */
33 b secondary_startup
34
618d9c8f 35 .align
59ac59f6 361: .long .
d9b778e7 37 .long versatile_cpu_release
764a579f 38ENDPROC(versatile_secondary_startup)