[U-Boot] [PATCH v5 0/5] Add support for Thumb-1 builds

Albert ARIBAUD albert.u.boot at aribaud.net
Fri Jul 17 22:50:44 CEST 2015


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.

IMPORTANT NOTE:

The whole set has been build-tested across all ARM targets
and no build regression was detected.

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, 4 and 5 have been build-tested BUT HAVE NOT BEEN
RUN-TESTED.

*********************************************************
Open-RD and Tricorder owners, PLEASE run-test this series
and report on the mailing list whether the target works.
*********************************************************

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
  kirkwood: support CONFIG_SYS_THUMB_BUILD
  openrd: switch to CONFIG_SYS_THUMB_BUILD
  tricorder: 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 +
 include/configs/tricorder.h                    |  1 +
 scripts/Makefile.lib                           |  3 +-
 17 files changed, 165 insertions(+), 4 deletions(-)
 create mode 100644 arch/arm/thumb1/include/asm/proc-armv/system.h

-- 
2.1.0



More information about the U-Boot mailing list