
This series implements essential changes for thumb-1 support and activates thumb-1 build for openrd as a proof of concept as well as a fix to bring the size of openrd targets back under an acceptable limit.
For other targets, some additional files might need to be forced to ARM building, notably architecture-specific instances of lowlevel_init.S or of cpu.c. This should be handled on a case-by-case basis.
Changes in v4: - Made stm32f429-discovery explicitly state that it builds for Thumb
Changes in v3: - added arch/arm/lib/mem{set,cpy}.S to the list of modules which should always be built in ARM state. - Selected HAS_THUMB2 for CPU_V7M. - Fixed invalidate_l2_cache() when building for Thumb-1.
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.
Albert ARIBAUD (4): stm32f429-discovery: add CONFIG_SYS_THUMB_BUILD arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD kirkwood: support CONFIG_SYS_THUMB_BUILD openrd: switch to CONFIG_SYS_THUMB_BUILD
Makefile | 2 + arch/arm/Kconfig | 5 ++ arch/arm/cpu/arm926ejs/Makefile | 11 ++++ arch/arm/cpu/arm926ejs/cache.c | 5 ++ arch/arm/include/asm/cache.h | 4 ++ arch/arm/lib/Makefile | 24 +++++++++ arch/arm/lib/cache.c | 11 ++++ arch/arm/lib/memcpy.S | 4 +- arch/arm/lib/memset.S | 2 +- arch/arm/mach-kirkwood/Makefile | 6 +++ arch/arm/mach-orion5x/Makefile | 10 ++++ arch/arm/thumb1/include/asm/proc-armv/system.h | 69 ++++++++++++++++++++++++++ examples/standalone/Makefile | 10 ++++ include/configs/openrd.h | 1 + include/configs/stm32f429-discovery.h | 1 + scripts/Makefile.lib | 3 +- 16 files changed, 164 insertions(+), 4 deletions(-) create mode 100644 arch/arm/thumb1/include/asm/proc-armv/system.h