Tony Lindgren <tony@xxxxxxxxxxx> writes: > * Kevin Hilman <khilman@xxxxxxxxxx> [150527 15:20]: >> [ fix email for Dave Martin, +Tyler ] >> >> Tony Lindgren <tony@xxxxxxxxxxx> writes: >> >> > The power management related assembly needs to interact with >> > ARM mode bootrom code, so we need to keep most of the related >> > assembly in ARM mode. >> > >> > Currently we are entering into and ARM mode assembly function >> > from thumb2 mode, so we need to make sure we switch to ARM >> > mode. And we need to do that again after the cache flush. >> > >> > --- >> > >> > Kevin told me about this earlier today.. >> >> >> And for full boot log/panics, see the kernelci.org thumb2 kernel boots >> that fail: http://kernelci.org/boot/?THUMB2_KERNEL&fail >> >> > Anybody got better ideas for a fix here? >> >> FWIW, a quick test of this patch makes my omap3-beagle-xm pass a simple >> boot test, but it fails with off idle. > > Thanks to Stephen Boyd's suggestion of checking the missing ENDPROC, > here's a better fix :) Now off idle works too. > > Regards, > > Tony > > 8 <---------------------- > From: Tony Lindgren <tony@xxxxxxxxxxx> > Date: Wed, 27 May 2015 15:33:57 -0700 > Subject: [PATCH] ARM: OMAP3: Fix booting with thumb2 kernel > > We get a NULL pointer dereference on omap3 for thumb2 compiled kernels: > > Internal error: Oops: 80000005 [#1] SMP THUMB2 > ... > [<c046497b>] (_raw_spin_unlock_irqrestore) from [<c0024375>] > (omap3_enter_idle_bm+0xc5/0x178) > [<c0024375>] (omap3_enter_idle_bm) from [<c0374e63>] > (cpuidle_enter_state+0x77/0x27c) > [<c0374e63>] (cpuidle_enter_state) from [<c00627f1>] > (cpu_startup_entry+0x155/0x23c) > [<c00627f1>] (cpu_startup_entry) from [<c06b9a47>] > (start_kernel+0x32f/0x338) > [<c06b9a47>] (start_kernel) from [<8000807f>] (0x8000807f) > > The power management related assembly on moaps needs to interact with > ARM mode bootrom code, so we need to keep most of the related assembly > in ARM mode. > > Turns out this error is because of missing ENDPROC for assembly code > as suggested by Stephen Boyd <sboyd@xxxxxxxxxxxxxx>. Let's add the > missing ENDPROC in two places to sleep34xx.S, and also remove the > earlier mystery code that was probably also caused by missing ENDPROC > for earlier kernels. > > Reported-by: Kevin Hilman <khilman@xxxxxxxxxx> > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Yup, boot test is now passing for me on omap3-beagle, omap3-beagle-xm, omap3-n900, omap3-overo-tobi, omap3-overo-storm-tobi. Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> Thanks for the quick fix. Next step is to look at the exynos4412-odroidu3 failure which probably has a similar cause. Kevin -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html