Hello Stefan, On Thu, 09 Apr 2015 11:22:27 +0200, Stefan Roese <s...@denx.de> wrote: > Hi Albert, > > On 25.02.2015 23:09, Albert ARIBAUD wrote: > > On Tue, 24 Feb 2015 14:53:36 +0100, Albert ARIBAUD > > <albert.u.b...@aribaud.net> wrote: > >> When building a THumb-1-only target with CONFIG_SYS_THUMB_BUILD, > >> some files fail to build, most of the time because they include > >> mcr instructions, which only exist for Thumb-2. > >> > >> Thos patch introduces a Kconfig option CONFIG_THUMB2 and uses > >> it to select between Thumb-2 and ARM mode for the aforementioned > >> files. > >> > >> Signed-off-by: Albert ARIBAUD <albert.u.b...@aribaud.net> > >> --- > >> This patch has been build-tested and run-tested on ED Mini V2, > >> above the "edmini: switch to SPL" patch, and found to reduce > >> U-Boot size by 25% and SPL size by 14%... and to run fine. :) > >> > >> This patch has also been tested against side effects on the > >> non-Thumb wireless_space target. The binaries produced with > >> and without ths patch were found to differ only by their > >> version string. > >> > >> Changes in v2: > >> - fixed a typo in the commit message > >> - added file arch/arm/thumb1/include/asm/proc-armv/system.h, > >> which overrides arch/arm/include/asm/proc-armv/system.h > >> when building for Thumb-1 and provides non-functional but > >> Thumb-compilable IRQ and FIQ related macros and functions. > > > > Ok, this does not fare as good as I have hoped, because there are also > > thumb1-unfrendly macros in arch/arm/include/asm/cache.h, this time with > > mcr and mrc instructions. > > > > /me hates macros used as inline functions. :( > > > > I cannot just replace the macros with empty inline functions as I did > > with arch/arm/include/asm/proc-armv/system.h, since this would cause > > cache to not work. :( > > > > This leaves only one solution: when buildding for thumb1, replace the > > macros in cache.h with plain function prototypes, and provide simple > > ARM-state implementations for these. We'll lose a bit of performance as > > instead of a single mcr or mrc instruction, we'll have a call switching > > from Thumb to ARM state, the mcr/mrc instruction, and a return to Thumb > > state. Hopefully that won't hurt performance too much. > > > > V3 in the works. > > Any update on this?
I am just restarting on this right now. > Thanks, > Stefan Amicalement, -- Albert. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot