diff options
author | Tom Rini <trini@konsulko.com> | 2019-01-22 17:09:26 -0500 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2019-01-26 22:55:53 -0500 |
commit | 2f41ade79e5969ebea03a7dcadbeae8e03787d7e (patch) | |
tree | ec8f52ec4aa174bcb6de14419568ead76a47aa2f /arch/arm | |
parent | b32ba6f12e4584b85c55c89000b0ef3fd98473f5 (diff) |
linker: Modify linker scripts to be more generic
Make use of "IMAGE_MAX_SIZE" and "IMAGE_TEXT_BASE" rather than
CONFIG_SPL_MAX_SIZE and CONFIG_SPL_TEXT_BASE. This lets us re-use the
same script for both SPL and TPL. Add logic to scripts/Makefile.spl to
pass in the right value when preprocessing the script.
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Jagan Teki <jagan@openedev.com>
Cc: Maxime Ripard <maxime.ripard@bootlin.com>
Cc: Andreas Bießmann <andreas@biessmann.org>
Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: York Sun <york.sun@nxp.com>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: Adam Ford <aford173@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Tested-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Tested-by: Adam Ford <aford173@gmail.com> #da850evm & omap3_logic_somlv
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/cpu/arm1136/u-boot-spl.lds | 4 | ||||
-rw-r--r-- | arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds | 2 | ||||
-rw-r--r-- | arch/arm/cpu/arm926ejs/orion5x/u-boot-spl.lds | 4 | ||||
-rw-r--r-- | arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds | 4 | ||||
-rw-r--r-- | arch/arm/cpu/armv7/sunxi/u-boot-spl.lds | 4 | ||||
-rw-r--r-- | arch/arm/cpu/armv8/u-boot-spl.lds | 4 | ||||
-rw-r--r-- | arch/arm/cpu/u-boot-spl.lds | 4 | ||||
-rw-r--r-- | arch/arm/mach-at91/arm926ejs/u-boot-spl.lds | 8 | ||||
-rw-r--r-- | arch/arm/mach-at91/armv7/u-boot-spl.lds | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap2/u-boot-spl.lds | 4 | ||||
-rw-r--r-- | arch/arm/mach-rockchip/Kconfig | 6 | ||||
-rw-r--r-- | arch/arm/mach-rockchip/rk3288/u-boot-tpl.lds | 9 | ||||
-rw-r--r-- | arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds | 12 | ||||
-rw-r--r-- | arch/arm/mach-zynq/u-boot-spl.lds | 4 |
14 files changed, 23 insertions, 50 deletions
diff --git a/arch/arm/cpu/arm1136/u-boot-spl.lds b/arch/arm/cpu/arm1136/u-boot-spl.lds index 881275adef..f83988fd7e 100644 --- a/arch/arm/cpu/arm1136/u-boot-spl.lds +++ b/arch/arm/cpu/arm1136/u-boot-spl.lds @@ -8,8 +8,8 @@ * Aneesh V <aneesh@ti.com> */ -MEMORY { .sram : ORIGIN = CONFIG_SPL_TEXT_BASE,\ - LENGTH = CONFIG_SPL_MAX_SIZE } +MEMORY { .sram : ORIGIN = IMAGE_TEXT_BASE,\ + LENGTH = IMAGE_MAX_SIZE } MEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \ LENGTH = CONFIG_SPL_BSS_MAX_SIZE } diff --git a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds index ffc70ce86b..7e20448f81 100644 --- a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds +++ b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds @@ -15,7 +15,7 @@ OUTPUT_ARCH(arm) ENTRY(_start) SECTIONS { - . = CONFIG_SPL_TEXT_BASE; + . = IMAGE_TEXT_BASE; . = ALIGN(4); .text : diff --git a/arch/arm/cpu/arm926ejs/orion5x/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/orion5x/u-boot-spl.lds index fbdb1d7e77..a537fe0295 100644 --- a/arch/arm/cpu/arm926ejs/orion5x/u-boot-spl.lds +++ b/arch/arm/cpu/arm926ejs/orion5x/u-boot-spl.lds @@ -16,8 +16,8 @@ * Texas Instruments, <www.ti.com> * Aneesh V <aneesh@ti.com> */ -MEMORY { .nor : ORIGIN = CONFIG_SPL_TEXT_BASE,\ - LENGTH = CONFIG_SPL_MAX_SIZE } +MEMORY { .nor : ORIGIN = IMAGE_TEXT_BASE,\ + LENGTH = IMAGE_MAX_SIZE } MEMORY { .bss : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \ LENGTH = CONFIG_SPL_BSS_MAX_SIZE } diff --git a/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds index 569704c317..0964a9742e 100644 --- a/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds +++ b/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds @@ -12,8 +12,8 @@ * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> */ -MEMORY { .sram : ORIGIN = CONFIG_SPL_TEXT_BASE,\ - LENGTH = CONFIG_SPL_MAX_SIZE } +MEMORY { .sram : ORIGIN = IMAGE_TEXT_BASE,\ + LENGTH = IMAGE_MAX_SIZE } OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") OUTPUT_ARCH(arm) diff --git a/arch/arm/cpu/armv7/sunxi/u-boot-spl.lds b/arch/arm/cpu/armv7/sunxi/u-boot-spl.lds index 5d7f3f578b..942c29fc95 100644 --- a/arch/arm/cpu/armv7/sunxi/u-boot-spl.lds +++ b/arch/arm/cpu/armv7/sunxi/u-boot-spl.lds @@ -13,8 +13,8 @@ * Texas Instruments, <www.ti.com> * Aneesh V <aneesh@ti.com> */ -MEMORY { .sram : ORIGIN = CONFIG_SPL_TEXT_BASE,\ - LENGTH = CONFIG_SPL_MAX_SIZE } +MEMORY { .sram : ORIGIN = IMAGE_TEXT_BASE,\ + LENGTH = IMAGE_MAX_SIZE } MEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \ LENGTH = CONFIG_SPL_BSS_MAX_SIZE } diff --git a/arch/arm/cpu/armv8/u-boot-spl.lds b/arch/arm/cpu/armv8/u-boot-spl.lds index 4e48da56be..ccbf359bd1 100644 --- a/arch/arm/cpu/armv8/u-boot-spl.lds +++ b/arch/arm/cpu/armv8/u-boot-spl.lds @@ -11,8 +11,8 @@ * Aneesh V <aneesh@ti.com> */ -MEMORY { .sram : ORIGIN = CONFIG_SPL_TEXT_BASE, - LENGTH = CONFIG_SPL_MAX_SIZE } +MEMORY { .sram : ORIGIN = IMAGE_TEXT_BASE, + LENGTH = IMAGE_MAX_SIZE } MEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR, LENGTH = CONFIG_SPL_BSS_MAX_SIZE } diff --git a/arch/arm/cpu/u-boot-spl.lds b/arch/arm/cpu/u-boot-spl.lds index 9d1333176b..a2aa93a735 100644 --- a/arch/arm/cpu/u-boot-spl.lds +++ b/arch/arm/cpu/u-boot-spl.lds @@ -78,8 +78,8 @@ SECTIONS .ARM.exidx : { *(.ARM.exidx*) } } -#if defined(CONFIG_SPL_MAX_SIZE) -ASSERT(__image_copy_end - __image_copy_start < (CONFIG_SPL_MAX_SIZE), \ +#if defined(IMAGE_MAX_SIZE) +ASSERT(__image_copy_end - __image_copy_start < (IMAGE_MAX_SIZE), \ "SPL image too big"); #endif diff --git a/arch/arm/mach-at91/arm926ejs/u-boot-spl.lds b/arch/arm/mach-at91/arm926ejs/u-boot-spl.lds index b714e93b3b..f18b17dc93 100644 --- a/arch/arm/mach-at91/arm926ejs/u-boot-spl.lds +++ b/arch/arm/mach-at91/arm926ejs/u-boot-spl.lds @@ -4,8 +4,8 @@ * Bo Shen <voice.shen@atmel.com> */ -MEMORY { .sram : ORIGIN = CONFIG_SPL_TEXT_BASE, \ - LENGTH = CONFIG_SPL_MAX_SIZE } +MEMORY { .sram : ORIGIN = IMAGE_TEXT_BASE, \ + LENGTH = IMAGE_MAX_SIZE } MEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \ LENGTH = CONFIG_SPL_BSS_MAX_SIZE } @@ -49,8 +49,8 @@ SECTIONS } >.sdram } -#if defined(CONFIG_SPL_MAX_SIZE) -ASSERT(__image_copy_end - __start < (CONFIG_SPL_MAX_SIZE), \ +#if defined(IMAGE_MAX_SIZE) +ASSERT(__image_copy_end - __start < (IMAGE_MAX_SIZE), \ "SPL image too big"); #endif diff --git a/arch/arm/mach-at91/armv7/u-boot-spl.lds b/arch/arm/mach-at91/armv7/u-boot-spl.lds index 22237cffc9..950ea55d7c 100644 --- a/arch/arm/mach-at91/armv7/u-boot-spl.lds +++ b/arch/arm/mach-at91/armv7/u-boot-spl.lds @@ -11,8 +11,8 @@ * Bo Shen <voice.shen@atmel.com> */ -MEMORY { .sram : ORIGIN = CONFIG_SPL_TEXT_BASE, \ - LENGTH = CONFIG_SPL_MAX_SIZE } +MEMORY { .sram : ORIGIN = IMAGE_TEXT_BASE, \ + LENGTH = IMAGE_MAX_SIZE } MEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \ LENGTH = CONFIG_SPL_BSS_MAX_SIZE } diff --git a/arch/arm/mach-omap2/u-boot-spl.lds b/arch/arm/mach-omap2/u-boot-spl.lds index a1289f6a74..88d81f9b98 100644 --- a/arch/arm/mach-omap2/u-boot-spl.lds +++ b/arch/arm/mach-omap2/u-boot-spl.lds @@ -8,8 +8,8 @@ * Aneesh V <aneesh@ti.com> */ -MEMORY { .sram : ORIGIN = CONFIG_SPL_TEXT_BASE,\ - LENGTH = CONFIG_SPL_MAX_SIZE } +MEMORY { .sram : ORIGIN = IMAGE_TEXT_BASE,\ + LENGTH = IMAGE_MAX_SIZE } MEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \ LENGTH = CONFIG_SPL_BSS_MAX_SIZE } diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig index b0082416b0..8e9d88c3f9 100644 --- a/arch/arm/mach-rockchip/Kconfig +++ b/arch/arm/mach-rockchip/Kconfig @@ -75,9 +75,6 @@ config ROCKCHIP_RK3288 if ROCKCHIP_RK3288 -config TPL_LDSCRIPT - default "arch/arm/mach-rockchip/rk3288/u-boot-tpl.lds" - config TPL_TEXT_BASE default 0xff704000 @@ -120,9 +117,6 @@ config ROCKCHIP_RK3368 if ROCKCHIP_RK3368 -config TPL_LDSCRIPT - default "arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds" - config TPL_TEXT_BASE default 0xff8c1000 diff --git a/arch/arm/mach-rockchip/rk3288/u-boot-tpl.lds b/arch/arm/mach-rockchip/rk3288/u-boot-tpl.lds deleted file mode 100644 index 2e559890ab..0000000000 --- a/arch/arm/mach-rockchip/rk3288/u-boot-tpl.lds +++ /dev/null @@ -1,9 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * Copyright (C) 2018 Jagan Teki <jagan@amarulasolutions.com> - */ - -#undef CONFIG_SPL_TEXT_BASE -#define CONFIG_SPL_TEXT_BASE CONFIG_TPL_TEXT_BASE - -#include "../../cpu/u-boot-spl.lds" diff --git a/arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds b/arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds deleted file mode 100644 index 7ba35b6c94..0000000000 --- a/arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds +++ /dev/null @@ -1,12 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * (C) Copyright 2017 Theobroma Systems Design und Consulting GmbH - */ - -#undef CONFIG_SPL_TEXT_BASE -#define CONFIG_SPL_TEXT_BASE CONFIG_TPL_TEXT_BASE - -#undef CONFIG_SPL_MAX_SIZE -#define CONFIG_SPL_MAX_SIZE CONFIG_TPL_MAX_SIZE - -#include "../../cpu/armv8/u-boot-spl.lds" diff --git a/arch/arm/mach-zynq/u-boot-spl.lds b/arch/arm/mach-zynq/u-boot-spl.lds index 080c6bf06d..106d2e390b 100644 --- a/arch/arm/mach-zynq/u-boot-spl.lds +++ b/arch/arm/mach-zynq/u-boot-spl.lds @@ -7,8 +7,8 @@ * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> */ -MEMORY { .sram : ORIGIN = CONFIG_SPL_TEXT_BASE,\ - LENGTH = CONFIG_SPL_MAX_SIZE } +MEMORY { .sram : ORIGIN = IMAGE_TEXT_BASE,\ + LENGTH = IMAGE_MAX_SIZE } MEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \ LENGTH = CONFIG_SPL_BSS_MAX_SIZE } |