[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