This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

My linux kernel exploration

Just love to find this during my exploration of linux Kernel
Worshipper ARM assembly code made yourself pleasure !

===============================

/*

*

*  Copyright (c) 2003 ARM Limited *  All Rights Reserved

*

* 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?