
Hi Tom,
On 22.12.2017 04:13, Tom Rini wrote:
There are no CMDs to be run in SPL and no need for any of their lists.
CC: Stefano Babic sbabic@denx.de Cc: Fabio Estevam fabio.estevam@nxp.com Cc: Jagan Teki jagan@openedev.com Cc: Maxime Ripard maxime.ripard@free-electrons.com Cc: "Andreas Bießmann" andreas@biessmann.org Cc: Michal Simek monstr@monstr.eu Cc: Daniel Schwierzeck daniel.schwierzeck@gmail.com Cc: Mario Six mario.six@gdsys.cc Cc: Wolfgang Denk wd@denx.de Cc: York Sun york.sun@nxp.com Cc: Simon Glass sjg@chromium.org Cc: Bin Meng bmeng.cn@gmail.com Cc:Wenyou Yang wenyou.yang@atmel.com Cc: Lokesh Vutla lokeshvutla@ti.com Signed-off-by: Tom Rini trini@konsulko.com
arch/arm/cpu/arm1136/u-boot-spl.lds | 3 +++ arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds | 3 +++ arch/arm/cpu/arm926ejs/orion5x/u-boot-spl.lds | 3 +++ arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds | 3 +++ arch/arm/cpu/armv7/sunxi/u-boot-spl.lds | 3 +++ arch/arm/cpu/armv8/u-boot-spl.lds | 3 +++ arch/arm/cpu/u-boot-spl.lds | 3 +++ arch/arm/mach-at91/arm926ejs/u-boot-spl.lds | 3 +++ arch/arm/mach-at91/armv7/u-boot-spl.lds | 3 +++ arch/arm/mach-omap2/u-boot-spl.lds | 3 +++ arch/arm/mach-zynq/u-boot-spl.lds | 3 +++ arch/microblaze/cpu/u-boot-spl.lds | 3 +++ arch/mips/cpu/u-boot-spl.lds | 3 +++ arch/powerpc/cpu/mpc83xx/u-boot-spl.lds | 3 +++ arch/powerpc/cpu/mpc85xx/u-boot-spl.lds | 3 +++ arch/sandbox/cpu/u-boot-spl.lds | 2 ++ arch/x86/cpu/u-boot-spl.lds | 3 +-- 17 files changed, 48 insertions(+), 2 deletions(-)
...
diff --git a/arch/mips/cpu/u-boot-spl.lds b/arch/mips/cpu/u-boot-spl.lds index 07004ea11155..19444e3e600e 100644 --- a/arch/mips/cpu/u-boot-spl.lds +++ b/arch/mips/cpu/u-boot-spl.lds @@ -11,6 +11,9 @@ OUTPUT_ARCH(mips) ENTRY(_start) SECTIONS {
/* There are no CMDs in SPL */
/DISCARD/ : { *(.u_boot_list_2_cmd_*) }
. = 0x00000000;
. = ALIGN(4);
does a DISCARD() work together with the KEEP() in this block?
#ifdef CONFIG_SPL_DM . = ALIGN(4); .u_boot_list : { KEEP(*(SORT(.u_boot_list*))); } > .spl_mem #endif
I suggest to do something like this:
KEEP(*(SORT(.u_boot_list_2_uclass*))); KEEP(*(SORT(.u_boot_list_2_driver*)));
Then all u_boot_list_* would be discarded by default except the two lists above when a board selects CONFIG_SPL_DM. Also this would have the benefit of discarding all u_boot_list_2_env* entries.