We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Just love to find this during my exploration of linux Kernel Worshipper ARM assembly code made yourself pleasure !
===============================
/*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/linkage.h>
#include <linux/init.h>
__CPUINIT
ENTRY(special_secondary_startup)
mrc p15, 0, r0, c0, c0, 5 @Read MPIDR
and r0, r0, #15 @Mask CPUID
adr r4, 1f
ldmia r4, {r5, r6}
sub r4, r4, r5
add r6, r6, r4
pen: ldr r7, [r6]
cmp r7, r0
bne pen
* we've been released from the holding pen: secondary_stack
* should now contain the SVC stack for this core
b secondary_startup
.align
1: .long .
.long pen_release
==================================
Who can tell me where it comes from and what it is used for?