1347863d4SKrzysztof Kozlowski/* SPDX-License-Identifier: GPL-2.0 */ 283014579SKukjin Kim/* 383014579SKukjin Kim * Cloned from linux/arch/arm/mach-realview/headsmp.S 483014579SKukjin Kim * 583014579SKukjin Kim * Copyright (c) 2003 ARM Limited 683014579SKukjin Kim * All Rights Reserved 783014579SKukjin Kim */ 883014579SKukjin Kim#include <linux/linkage.h> 983014579SKukjin Kim#include <linux/init.h> 1083014579SKukjin Kim 11458ad21dSBen Dooks#include <asm/assembler.h> 12458ad21dSBen Dooks 1383014579SKukjin Kim/* 1483014579SKukjin Kim * exynos4 specific entry point for secondary CPUs. This provides 1583014579SKukjin Kim * a "holding pen" into which all secondary cores are held until we're 1683014579SKukjin Kim * ready for them to initialise. 1783014579SKukjin Kim */ 1883014579SKukjin KimENTRY(exynos4_secondary_startup) 19458ad21dSBen DooksARM_BE8(setend be) 2083014579SKukjin Kim mrc p15, 0, r0, c0, c0, 5 2183014579SKukjin Kim and r0, r0, #15 2283014579SKukjin Kim adr r4, 1f 2383014579SKukjin Kim ldmia r4, {r5, r6} 2483014579SKukjin Kim sub r4, r4, r5 2583014579SKukjin Kim add r6, r6, r4 2683014579SKukjin Kimpen: ldr r7, [r6] 2783014579SKukjin Kim cmp r7, r0 2883014579SKukjin Kim bne pen 2983014579SKukjin Kim 3083014579SKukjin Kim /* 3183014579SKukjin Kim * we've been released from the holding pen: secondary_stack 3283014579SKukjin Kim * should now contain the SVC stack for this core 3383014579SKukjin Kim */ 3483014579SKukjin Kim b secondary_startup 35f7597c02SRob HerringENDPROC(exynos4_secondary_startup) 3683014579SKukjin Kim 37f7597c02SRob Herring .align 2 3883014579SKukjin Kim1: .long . 39*6213f70eSRussell King .long exynos_pen_release 40