[U-Boot] Re : Re: [PATCH] exynos: allow SPL to build in thumb mode
Guillaume GARDET
guillaume.gardet at free.fr
Fri Jan 4 08:25:59 UTC 2019
Hi,
----- Siarhei Siamashka <siarhei.siamashka at gmail.com> a écrit :
> On Wed, 2 Jan 2019 14:31:41 +0100
> Guillaume GARDET <guillaume.gardet at free.fr> wrote:
>
> > Building peach-pi smdk5420 and peach-pit with thumb mode for SPL
> > ends-up in the following error:
> >
> > Error: Thumb encoding does not support an immediate here -- `msr cpsr_c,#0x13|0xC0'
> >
> > Use an intermediate register to be able to use thumb for exynos5 SPL.
> >
> >
> > Signed-off-by: Guillaume GARDET <guillaume.gardet at free.fr>
> >
> > Cc: Albert Aribaud <albert.u.boot at aribaud.net>
> > Cc: Minkyu Kang <mk7.kang at samsung.com>
> > Cc: Tom Rini <trini at konsulko.com>
> >
> > ---
> > arch/arm/mach-exynos/include/mach/system.h | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm/mach-exynos/include/mach/system.h b/arch/arm/mach-exynos/include/mach/system.h
> > index 4837781957..81fa9800b4 100644
> > --- a/arch/arm/mach-exynos/include/mach/system.h
> > +++ b/arch/arm/mach-exynos/include/mach/system.h
> > @@ -58,7 +58,8 @@ struct exynos5_sysreg {
> > /* Move 0xd3 value to CPSR register to enable SVC mode */
> > #define svc32_mode_en() __asm__ __volatile__ \
> > ("@ I&F disable, Mode: 0x13 - SVC\n\t" \
> > - "msr cpsr_c, #0x13|0xC0\n\t" : : )
> > + "mov r0, #0x13|0xC0\n\t" \
> > + "msr cpsr_c, r0\n\t" : : )
>
> This line needs "r0" to be also added to the clobber list. If you
> don't do this, then you may encounter sporadic r0 corruption
> problem depending on the compiler version or optimization settings.
>
> This would be:
>
> "msr cpsr_c, r0\n\t" : : : "r0")
>
> See https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html for more
> details.
>
> An even better option is to just use something like this and give
> the compiler freedom to pick any register:
>
> "msr cpsr_c, %0\n\t" : : "r"(0x13|0xC0))
Thanks for the report Siarhei.
Minkyu, please merge also this patch: https://lists.denx.de/pipermail/u-boot/2019-January/353533.html
Thanks,
Guillaume
>
> --
> Best regards,
> Siarhei Siamashka
More information about the U-Boot
mailing list