[PATCH 0/7] Add SMP bringup support for mt65xx socs

Yingjoe Chen yingjoe.chen at mediatek.com
Wed May 6 00:59:42 PDT 2015


On Wed, 2015-05-06 at 15:19 +0800, Yingjoe Chen wrote:
> Hi Matthias,
<...>
> > I tried on the mt8135 eval board but it fails to bring up the CPU.
> > 
> > When booting:
> > [    1.048588] CPU1: failed to come online
> > [    2.049914] CPU2: failed to come online
> > [    3.051245] CPU3: failed to come online
> 
> 
> Thanks for testing, and the config file you provided.
> It seems you are running THUMB2 kernel, unfortunately mt8135 trustzone
> firmware doesn't support jump to THUMB2 code directly.
> 
> I can workaround this with the following patch. I'll include it in my
> next round.
> 
> Joe.C
> 
> -----8<----------------
> diff --git a/arch/arm/mach-mediatek/platsmp.c
> b/arch/arm/mach-mediatek/platsmp.c
> index e266b3d..5dea55a 100644
> --- a/arch/arm/mach-mediatek/platsmp.c
> +++ b/arch/arm/mach-mediatek/platsmp.c
> @@ -57,6 +57,18 @@ static const struct of_device_id mtk_smp_boot_infos[]
> __initconst = {
>  static void __iomem *mtk_smp_base;
>  static const struct mtk_smp_boot_info *mtk_smp_info;
>  
> +#ifdef CONFIG_THUMB2_KERNEL
> +__asm__(
> +	".arm\n"
> +	"mtk_secondary_startup_fixup:\n"
> +	"	b secondary_startup\n"
> +	".thumb\n"
> +);
> +
> +void mtk_secondary_startup_fixup(void);
> +#define secondary_startup mtk_secondary_startup_fixup
> +#endif


Replying myself.

It seems kernel already have secondary_startup_arm which support this
usage. I'll use that in my next version instead.

Joe.C





More information about the linux-arm-kernel mailing list