This series implements essential changes for thumb-1 support and activates thumb-1 build for openrd and tricorder as a proof of concept as well as a fix to bring the image sizes of openrd and tricorder 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. This series has two unfixed checkpatch diagnostics: warning: arch/arm/mach-kirkwood/Kconfig,7: please write a paragraph that describes the config symbol fully (no option in this Kconfig has help info) check: board/Marvell/openrd/openrd.c,42: Avoid CamelCase: <MPP6_SYSRST_OUTn> (this is actually not an OpenRD problem and will be fixed in another patch) IMPORTANT NOTE: The whole set has been build-tested across all ARM targets and no build regression was detected -- actually, the series does fix the x600 board which otherwise fails assembling an mcr instruction. Patch 1 has been confirmed to be binary-invariant. Patch 2 has been build- and run-tested on ED Mini V2 (switched temporarily to Thumb build) and confirmed to be binary-invariant for non-thumb target Wireless Space. Patches 3 through 6 have been build-tested BUT HAVE NOT BEEN RUN-TESTED so far. I will test on OpenRD (client) before the end of the merge window, but: ********************************************************* Open-RD and Tricorder owners, PLEASE run-test this series and report on the mailing list whether the target works. ********************************************************* Changes in v6: - revive OpenRD targets and assume maintainership - switch OpenRD to generic board and Thumb - fix checkpatch warning and checks Changes in v5: - switched tricorder[_flash] to Thumb-1 build 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 (5): stm32f429-discovery: add CONFIG_SYS_THUMB_BUILD arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD tricorder: switch to CONFIG_SYS_THUMB_BUILD kirkwood: support CONFIG_SYS_THUMB_BUILD Revive OpenRD targets 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/Kconfig | 4 + arch/arm/mach-kirkwood/Makefile | 6 + arch/arm/mach-orion5x/Makefile | 10 ++ arch/arm/thumb1/include/asm/proc-armv/system.h | 69 +++++++++++ board/Marvell/openrd/Kconfig | 12 ++ board/Marvell/openrd/MAINTAINERS | 12 ++ board/Marvell/openrd/Makefile | 14 +++ board/Marvell/openrd/kwbimage.cfg | 152 +++++++++++++++++++++++ board/Marvell/openrd/openrd.c | 160 +++++++++++++++++++++++++ board/Marvell/openrd/openrd.h | 30 +++++ configs/openrd_base_defconfig | 7 ++ configs/openrd_client_defconfig | 7 ++ configs/openrd_ultimate_defconfig | 7 ++ examples/standalone/Makefile | 10 ++ include/configs/openrd.h | 140 ++++++++++++++++++++++ include/configs/stm32f429-discovery.h | 1 + include/configs/tricorder.h | 1 + 26 files changed, 707 insertions(+), 3 deletions(-) create mode 100644 arch/arm/thumb1/include/asm/proc-armv/system.h create mode 100644 board/Marvell/openrd/Kconfig create mode 100644 board/Marvell/openrd/MAINTAINERS create mode 100644 board/Marvell/openrd/Makefile create mode 100644 board/Marvell/openrd/kwbimage.cfg create mode 100644 board/Marvell/openrd/openrd.c create mode 100644 board/Marvell/openrd/openrd.h create mode 100644 configs/openrd_base_defconfig create mode 100644 configs/openrd_client_defconfig create mode 100644 configs/openrd_ultimate_defconfig create mode 100644 include/configs/openrd.h -- 2.1.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot