On Tue, Mar 31, 2015 at 12:06:29AM +0200, Andreas Färber wrote: > Am 05.03.2015 um 16:32 schrieb Tom Rini: > > On Sun, Mar 01, 2015 at 12:44:39PM +0100, Kamil Lulko wrote: > > > >> Signed-off-by: Kamil Lulko <re...@wp.pl> > > [snip] > >> diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S > > [snip] > >> @@ -66,15 +69,30 @@ ENTRY(_main) > >> #else > >> ldr sp, =(CONFIG_SYS_INIT_SP_ADDR) > >> #endif > >> +#if defined(CONFIG_CPU_V7M) /* v7M forbids using SP as BIC > >> destination */ > >> + mov r3, sp > >> + bic r3, r3, #7 > >> + mov sp, r3 > >> +#else > >> bic sp, sp, #7 /* 8-byte alignment for ABI compliance */ > >> +#endif > > > > There's 4 places where this change comes in. Albert, what do you think > > about always just doing this in 3 instructions with a comment in the > > first instance about v7-M support? > > I remember running into problems like these when working on STM32F429 > support late last year and I adopted some helper macros from Linux, I > believe. The same problem existed in U-Boot's private libgcc code.
What macros did you use from the kernel? Thanks! -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot