confusions of boot sequence in MPC8572?

Scott Wood scottwood at freescale.com
Wed Sep 24 04:29:36 EST 2008


On Thu, Sep 18, 2008 at 09:49:34PM +0800, Michael.Kang wrote:
> And jump to __secondary_start -> call_setup_cpu,  source code in
> call_setup_cpu as the following:
> 112 _GLOBAL(call_setup_cpu)
> 113         addis   r4,r3,cur_cpu_spec at ha
> 114         addi    r4,r4,cur_cpu_spec at l
> 115         lwz     r4,0(r4)
> 116         add     r4,r4,r3
> 117         lwz     r5,CPU_SPEC_SETUP(r4)
> 118         cmpwi   0,r5,0
> 119         add     r5,r5,r3
> 120         beqlr
> 121         mtctr   r5
> 122         bctr
> 
> here it seems cur_cpu_spec here is not a valid value since
> cur_cpu_spec will only be set in identify_cpu() [
> arch/powerpc/kernel/cputable.c: 1301] later.
> 
> So what is my mistake? Who responsible for initialize cur_cpu_spec
> variable for second core??

There is only one cur_cpu_spec for all cores, which is initialized by the
boot core before it releases the secondaries.

-Scott


More information about the Linuxppc-embedded mailing list