The following adds relocatable binary support for ARM. This can be useful when a suitable memory location for the barebox binary is not known at compile time, for example when compiling for multiple SoCs. In most cases enabling this feature will only result in the visible effect that the binary gets bigger, so this feature is fully optional. The relocatable support can be enabled for the PBL and the real binary independently for greater flexibility and better debugability. This series has been tested on various boards and I hope I have covered all combinations of PBL enabled/disabled, PBL relocation enabled/disabled, relocation enabled/disabled and MMU enabled/disabled. Sascha ---------------------------------------------------------------- Sascha Hauer (6): ARM: make cpu architecture detection available as static inline function ARM: add early mmu cache flush function and use it in setup_c ARM: provide accessor functions for linker variables ARM boards: Use accessor functions to access linker variables ARN: fixup vector addresses for relocatable binaries ARM: Add relocatable binary support arch/arm/Kconfig | 9 ++++ arch/arm/Makefile | 4 ++ arch/arm/boards/friendlyarm-tiny210/lowlevel.c | 3 +- arch/arm/cpu/Makefile | 3 ++ arch/arm/cpu/cache.c | 33 +++++++++++++ arch/arm/cpu/common.c | 68 ++++++++++++++++++++++++++ arch/arm/cpu/cpu.c | 34 +------------ arch/arm/cpu/exceptions.S | 55 ++++++++++++++++++--- arch/arm/cpu/mmu.c | 2 + arch/arm/cpu/setupc.S | 62 +++++++++++++++++++++++ arch/arm/cpu/start-pbl.c | 18 +++++-- arch/arm/cpu/start.c | 5 ++ arch/arm/include/asm/barebox-arm.h | 34 +++++++++++++ arch/arm/include/asm/cache.h | 8 +++ arch/arm/include/asm/mmu.h | 1 - arch/arm/include/asm/sections.h | 33 +++++++++++++ arch/arm/include/asm/system_info.h | 43 ++++++++++++++++ arch/arm/lib/barebox.lds.S | 17 +++++++ arch/arm/lib/runtime-offset.S | 32 ++++++++++++ arch/arm/mach-imx/external-nand-boot.c | 27 +++++----- arch/arm/pbl/Makefile | 3 ++ arch/arm/pbl/zbarebox.lds.S | 16 ++++++ common/Kconfig | 2 +- drivers/mtd/nand/nand_s3c24xx.c | 2 +- pbl/Kconfig | 10 ++++ 25 files changed, 466 insertions(+), 58 deletions(-) create mode 100644 arch/arm/cpu/common.c _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox