[PATCH 10/16] mips: unconditionally enable u_boot_list section in u-boot-spl.lds

Weijie Gao weijie.gao at mediatek.com
Thu Jan 9 09:40:44 CET 2020


On Wed, 2020-01-08 at 17:11 +0100, Daniel Schwierzeck wrote:
> 
> Am 08.01.20 um 04:01 schrieb Weijie Gao:
> > u_boot_list is not only used by DM, but also by some SPL image load methods
> > such as spl_nor.c.
> > 
> > This patch removes CONFIG_SPL_DM surrounding the u_boot_list section to
> > make sure SPL image load methods can be correctly built into u-boot without
> > DM enabled.
> > 
> > Signed-off-by: Weijie Gao <weijie.gao at mediatek.com>
> > ---
> >  arch/mips/cpu/u-boot-spl.lds | 2 --
> >  1 file changed, 2 deletions(-)
> > 
> > diff --git a/arch/mips/cpu/u-boot-spl.lds b/arch/mips/cpu/u-boot-spl.lds
> > index d08d6222c4..cd143ab168 100644
> > --- a/arch/mips/cpu/u-boot-spl.lds
> > +++ b/arch/mips/cpu/u-boot-spl.lds
> > @@ -27,12 +27,10 @@ SECTIONS
> >  		*(SORT_BY_ALIGNMENT(.sdata*))
> >  	} > .spl_mem
> >  
> > -#ifdef CONFIG_SPL_DM
> >  	. = ALIGN(4);
> >  	.u_boot_list : {
> >  		KEEP(*(SORT(.u_boot_list*)));
> >  	} > .spl_mem
> > -#endif
> 
> unconditionally including this is a bad idea on SoC's with a very
> constrained SRAM space (e.g. CI20 board) or in SPL/TPL scenarios.
> 
> One solution would be to replace #ifdef CONFIG_SPL_DM with something
> like #ifdef CONFIG_MIPS_SPL_LIST and in Kconfig something like this:
> 
> config MIPS_SPL_LIST
>    bool "..."
>    default y if (SPL_DM | SPL_NOR_SUPPORT)
>    default n
> 
> 
> Alternatively with an inverted semantic:
> 
> #ifndef CONFIG_MIPS_SPL_LIST_EXLCUDE
> ...
> #endif
> 
> 
> config MIPS_SPL_LIST_EXLCUDE
>     bool ""
>     default n
> 
> config ARCH_JZ47XX
>     ...
>     select MIPS_SPL_LIST_EXLCUDE
> 
> 
> >  
> >  	. = ALIGN(4);
> >  	__image_copy_end = .;
> > 
> 

I think adding CONFIG_SPL_LOADER_SUPPORT is also OK:

#if defined(CONFIG_SPL_DM) || defined(CONFIG_SPL_LOADER_SUPPORT)
  	. = ALIGN(4);
  	.u_boot_list : {
  		KEEP(*(SORT(.u_boot_list*)));
  	} > .spl_mem
#endif


In mach Kconfig:
config SPL_LOADER_SUPPORT
	bool
	default y if SPL_NOR_SUPPORT
	default n


More information about the U-Boot mailing list