[PATCH 01/16] ARM: b.L: secondary kernel entry code
Nicolas Pitre
nicolas.pitre at linaro.org
Fri Jan 11 13:10:52 EST 2013
On Fri, 11 Jan 2013, Santosh Shilimkar wrote:
> On Thursday 10 January 2013 05:50 AM, Nicolas Pitre wrote:
> > +ENTRY(bL_entry_point)
> > +
> > + THUMB( adr r12, BSYM(1f) )
> > + THUMB( bx r12 )
> > + THUMB( .thumb )
> > +1:
> > + mrc p15, 0, r0, c0, c0, 5
> > + ubfx r9, r0, #0, #4 @ r9 = cpu
> > + ubfx r10, r0, #8, #4 @ r10 = cluster
> > + mov r3, #BL_CPUS_PER_CLUSTER
> > + mla r4, r3, r10, r9 @ r4 = canonical CPU index
> > + cmp r4, #(BL_CPUS_PER_CLUSTER * BL_NR_CLUSTERS)
> > + blo 2f
> > +
> > + /* We didn't expect this CPU. Try to make it quiet. */
> > +1: wfi
> > + wfe
>
> Why do you need a wfe followed by wif ?
> Just curious.
If the WFI doesn't work because an interrupt is pending then the WFE
might work better. But as I mentioned before, this is not intended to
be used for other purposes than "we're really screwed so at least let's
try to cheaply quieten this CPU" case.
Nicolas
More information about the linux-arm-kernel
mailing list