* confusions of boot sequence in MPC8572?
@ 2008-09-18 13:49 Michael.Kang
2008-09-23 18:29 ` Scott Wood
0 siblings, 1 reply; 2+ messages in thread
From: Michael.Kang @ 2008-09-18 13:49 UTC (permalink / raw)
To: linuxppc-embedded; +Cc: Yu Chen, Xin-Xin.Yang
I am reading the boot code in arch/powerpc/kernel/head_fsl_booke.S for
MPC8572( dual e500 core). The second core will encounter the following
code:
319 #ifdef CONFIG_SMP
320 /* Check to see if we're the second processor, and jump
321 * to the secondary_start code if so
322 */
323 mfspr r24,SPRN_PIR
324 cmpwi r24,0
325 bne __secondary_start
326 #endif
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@ha
114 addi r4,r4,cur_cpu_spec@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??
Thanks
MK
--
www.skyeye.org
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: confusions of boot sequence in MPC8572?
2008-09-18 13:49 confusions of boot sequence in MPC8572? Michael.Kang
@ 2008-09-23 18:29 ` Scott Wood
0 siblings, 0 replies; 2+ messages in thread
From: Scott Wood @ 2008-09-23 18:29 UTC (permalink / raw)
To: Michael.Kang; +Cc: Xin-Xin.Yang, Yu Chen, linuxppc-embedded
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@ha
> 114 addi r4,r4,cur_cpu_spec@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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-09-23 18:29 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-09-18 13:49 confusions of boot sequence in MPC8572? Michael.Kang
2008-09-23 18:29 ` Scott Wood
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).