The goal of this series is to scrub the start.S files which have proliferated across arch/arm and eliminate code redundancy.
Currently this series only factorizes the C runtime framework, that is, the assembly code responsible for setting up the C environments needed by board_init_*() and relocate_code(). Further factorization is possible: relocate_code() can be moved out and possibly rewritten in C now that it has plain C function semantics; exception handlers should also be pretty much cpu-independent. Eventually, start.S files should disappear or contain CPU-specific code only. The new C runtime setup sequence has been validated step by step on target versatileqemu using toolchain ELDK4.2. The whole changes have been build-tested across all ARM targets using MAKEALL -a arm. Changes in v3: - various clarifications and typo fixes - fixed wrong LED calls conditional - fixed open comment eating some code - fixed code overrun in SPL case Series-changes: 2 - moved description from cover letter to patch commit msg - added note about tests in the cover letter - fixed baords with CONFIG_SPL but not CONFIG_SPL_STACK - no change Changes in v2: - introduced in V2 Albert ARIBAUD (2): arm: move C runtime setup code in crt0.S arm: remove useless code in start.S files arch/arm/cpu/arm1136/start.S | 69 +++-------- arch/arm/cpu/arm1176/start.S | 62 ++-------- arch/arm/cpu/arm720t/start.S | 53 ++------- arch/arm/cpu/arm920t/start.S | 61 ++-------- arch/arm/cpu/arm925t/start.S | 65 ++--------- arch/arm/cpu/arm926ejs/start.S | 86 ++------------ arch/arm/cpu/arm946es/start.S | 56 ++------- arch/arm/cpu/arm_intcm/start.S | 63 ++-------- arch/arm/cpu/armv7/start.S | 58 +++------- arch/arm/cpu/ixp/start.S | 55 ++------- arch/arm/cpu/pxa/start.S | 63 ++-------- arch/arm/cpu/s3c44b0/start.S | 55 ++------- arch/arm/cpu/sa1100/start.S | 50 ++------ arch/arm/lib/Makefile | 2 + arch/arm/lib/board.c | 11 -- arch/arm/lib/crt0.S | 180 +++++++++++++++++++++++++++++ include/common.h | 2 +- include/configs/socfpga_cyclone5.h | 2 +- lib/asm-offsets.c | 10 ++ nand_spl/board/freescale/mx31pdk/Makefile | 6 +- nand_spl/board/karo/tx25/Makefile | 6 +- 21 files changed, 329 insertions(+), 686 deletions(-) create mode 100644 arch/arm/lib/crt0.S -- 1.7.9.5 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot