mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* Thumb-2 support
@ 2011-12-17 14:52 Sascha Hauer
  2011-12-17 14:52 ` [PATCH 1/9] ARM i.MX5: prepare to add a imx51_lowlevel_init Sascha Hauer
                   ` (8 more replies)
  0 siblings, 9 replies; 20+ messages in thread
From: Sascha Hauer @ 2011-12-17 14:52 UTC (permalink / raw)
  To: barebox

The following series adds Thumb-2 support to barebox. To do this
we have to update the Arm assembly functions which are from the
kernel anyway, so we just update them to newer versions. Some
boards may need additional updates for their lowlevel assembly
code. At least the babbage lowlevel code did not work in Thumb-2,
so this series contains an update for this board. If Omap works
in Thumb-2 remains to be tested.

This series was tested on a babbage board and reduces the binary
size by about 25%.

Sascha

Sascha Hauer (9):
      ARM i.MX5: prepare to add a imx51_lowlevel_init
      ARM i.MX51: implement a imx51_lowlevel_init
      ARM i.MX51 babbage: use generic lowlevel init function
      ARM eukrea i.MX51: use generic lowlevel init
      ARM: update string functions from Linux Kernel
      ARM cache-armv7: use thumb-2 instructions where necessary
      ARM: move exception vectors away from start of binary
      ARM: get runtime offset of board_init_lowlevel_return by using separate section
      ARM: Allow to compile in thumb-2 mode

 arch/arm/Kconfig                                   |   12 +
 arch/arm/Makefile                                  |   11 +-
 arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c  |    3 +-
 arch/arm/boards/eukrea_cpuimx35/flash_header.c     |    3 +-
 arch/arm/boards/eukrea_cpuimx51/Makefile           |    1 -
 arch/arm/boards/eukrea_cpuimx51/eukrea_cpuimx51.c  |    3 +
 arch/arm/boards/eukrea_cpuimx51/flash_header.c     |    3 +-
 arch/arm/boards/eukrea_cpuimx51/lowlevel_init.S    |  216 --------------------
 arch/arm/boards/freescale-mx25-3-stack/3stack.c    |    3 +-
 .../boards/freescale-mx35-3-stack/flash_header.c   |    3 +-
 arch/arm/boards/freescale-mx51-pdk/Makefile        |    1 -
 arch/arm/boards/freescale-mx51-pdk/board.c         |    3 +
 arch/arm/boards/freescale-mx51-pdk/flash_header.c  |    3 +-
 arch/arm/boards/freescale-mx51-pdk/lowlevel_init.S |  216 --------------------
 arch/arm/boards/freescale-mx53-loco/board.c        |    2 +-
 arch/arm/boards/freescale-mx53-loco/flash_header.c |    3 +-
 arch/arm/boards/freescale-mx53-smd/board.c         |    2 +-
 arch/arm/boards/freescale-mx53-smd/flash_header.c  |    3 +-
 arch/arm/cpu/cache-armv7.S                         |    8 +-
 arch/arm/cpu/cpu.c                                 |   27 +++
 arch/arm/cpu/exceptions.S                          |    1 +
 arch/arm/cpu/mmu.c                                 |    4 +-
 arch/arm/cpu/start.c                               |   44 +++--
 arch/arm/include/asm/barebox-arm-head.h            |   29 +++
 arch/arm/include/asm/barebox-arm.h                 |    3 +
 arch/arm/include/asm/unified.h                     |    8 +-
 arch/arm/lib/armlinux.c                            |   16 ++-
 arch/arm/lib/barebox.lds.S                         |    7 +-
 arch/arm/lib/copy_template.S                       |   24 ++-
 arch/arm/lib/findbit.S                             |   84 +++++---
 arch/arm/lib/io-writesw-armv4.S                    |   11 +-
 arch/arm/lib/memcpy.S                              |    7 +-
 arch/arm/mach-imx/Kconfig                          |    2 -
 arch/arm/mach-imx/Makefile                         |    4 +-
 arch/arm/mach-imx/imx51.c                          |  105 ++++++++++
 arch/arm/mach-imx/imx53.c                          |   61 +-----
 arch/arm/mach-imx/include/mach/imx5.h              |    9 +
 arch/arm/mach-imx/include/mach/imx53.h             |    6 -
 commands/go.c                                      |    6 +-
 common/misc.c                                      |    3 +
 include/common.h                                   |    6 +
 41 files changed, 387 insertions(+), 579 deletions(-)
 delete mode 100644 arch/arm/boards/eukrea_cpuimx51/lowlevel_init.S
 delete mode 100644 arch/arm/boards/freescale-mx51-pdk/lowlevel_init.S
 create mode 100644 arch/arm/include/asm/barebox-arm-head.h
 create mode 100644 arch/arm/mach-imx/include/mach/imx5.h
 delete mode 100644 arch/arm/mach-imx/include/mach/imx53.h

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2012-01-24  4:42 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-17 14:52 Thumb-2 support Sascha Hauer
2011-12-17 14:52 ` [PATCH 1/9] ARM i.MX5: prepare to add a imx51_lowlevel_init Sascha Hauer
2011-12-18 14:03   ` Eric Bénard
2011-12-19 10:18   ` Sascha Hauer
2011-12-17 14:52 ` [PATCH 2/9] ARM i.MX51: implement " Sascha Hauer
2011-12-17 14:52 ` [PATCH 3/9] ARM i.MX51 babbage: use generic lowlevel init function Sascha Hauer
2011-12-17 14:52 ` [PATCH 4/9] ARM eukrea i.MX51: use generic lowlevel init Sascha Hauer
2011-12-17 14:52 ` [PATCH 5/9] ARM: update string functions from Linux Kernel Sascha Hauer
2011-12-17 14:52 ` [PATCH 6/9] ARM cache-armv7: use thumb-2 instructions where necessary Sascha Hauer
2011-12-17 14:52 ` [PATCH 7/9] ARM: move exception vectors away from start of binary Sascha Hauer
2011-12-18 23:43   ` Peter Korsgaard
2011-12-20 14:07   ` Jean-Christophe PLAGNIOL-VILLARD
2011-12-21 10:09     ` Sascha Hauer
2012-01-01  4:37   ` Jean-Christophe PLAGNIOL-VILLARD
2012-01-02 14:13     ` Sascha Hauer
2012-01-02 15:09       ` Jean-Christophe PLAGNIOL-VILLARD
2012-01-23 12:07         ` Sascha Hauer
2012-01-24  4:39           ` Jean-Christophe PLAGNIOL-VILLARD
2011-12-17 14:52 ` [PATCH 8/9] ARM: get runtime offset of board_init_lowlevel_return by using separate section Sascha Hauer
2011-12-17 14:52 ` [PATCH 9/9] ARM: Allow to compile in thumb-2 mode Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox