/*1* linux/arch/arm/mach-realview/headsmp.S2*3* Copyright (c) 2003 ARM Limited4* All Rights Reserved5*6* This program is free software; you can redistribute it and/or modify7* it under the terms of the GNU General Public License version 2 as8* published by the Free Software Foundation.9*/10#include <linux/linkage.h>11#include <linux/init.h>1213__CPUINIT1415/*16* MSM specific entry point for secondary CPUs. This provides17* a "holding pen" into which all secondary cores are held until we're18* ready for them to initialise.19*/20ENTRY(msm_secondary_startup)21mrc p15, 0, r0, c0, c0, 522and r0, r0, #1523adr r4, 1f24ldmia r4, {r5, r6}25sub r4, r4, r526add r6, r6, r427pen: ldr r7, [r6]28cmp r7, r029bne pen3031/*32* we've been released from the holding pen: secondary_stack33* should now contain the SVC stack for this core34*/35b secondary_startup3637.align381: .long .39.long pen_release404142