[PATCH 0/4] Hacks to allow booting ARM SMP kernel on UP ARMv7
Tony Lindgren
tony at atomide.com
Thu Sep 2 21:39:41 EDT 2010
* Russell King - ARM Linux <linux at arm.linux.org.uk> [100902 06:25]:
> On Thu, Aug 19, 2010 at 10:38:11AM +0300, Tony Lindgren wrote:
> > --- a/arch/arm/kernel/head.S
> > +++ b/arch/arm/kernel/head.S
> > @@ -346,8 +346,10 @@ __fixup_smp:
> > bne smp_on_up @ no, assume UP
> > mrc p15, 0, r0, c0, c0, 5 @ read MIDR
> > movs r0, r0, lsr #30
> > - teqne r0, #3 @ check top two bits 00 or 11
> > - moveq pc, lr
> > + teq r0, #0 @ check two top bits 00
> > + beq smp_on_up @ yes, assume UP
> > + teq r0, #3 @ check top two bits 11
> > + movne pc, lr @ no, running on SMP hw
>
> This should be:
>
> movs r0, r0, lsr #30
> teqne r0, #3
> movne pc, lr
>
> so that 0 or 3 avoids the return.
Actually should also handle value of 1:
31 30
0 0 Not using new register, assume not SMP
0 1 Not using new register, assume not SMP
1 0 Using new register, SMP
1 1 Using new register, UP
So we should return early only if it's 2.
Regards,
Tony
More information about the linux-arm-kernel
mailing list