diff options
| author | Ovidiu Panait <ovpanait@gmail.com> | 2022-09-13 21:31:28 +0300 | 
|---|---|---|
| committer | Tom Rini <trini@konsulko.com> | 2022-10-06 21:05:17 -0400 | 
| commit | d63fc99435f462cbef5e062cb5f18711c947bf01 (patch) | |
| tree | 8b62c9301b30f4257185baa38ff431351b7d7aa4 /common/board_f.c | |
| parent | 85e68ae001d4449f02e6ce99b91e160bd94eb69c (diff) | |
common/board_f: introduce arch_setup_dest_addr()
In order to move ppc-specific code out of setup_dest_addr(), provide an
arch-specific variant arch_setup_dest_addr(), that can be used by
architecture code to fix up the initial reloc address.
It is called at the end of setup_dest_addr() initcall and the default
implementation is a nop stub.
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Ovidiu Panait <ovpanait@gmail.com>
Diffstat (limited to 'common/board_f.c')
| -rw-r--r-- | common/board_f.c | 21 | 
1 files changed, 7 insertions, 14 deletions
| diff --git a/common/board_f.c b/common/board_f.c index 5201ed30cf3..82b5828d286 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -46,9 +46,6 @@  #include <video.h>  #include <watchdog.h>  #include <asm/cache.h> -#if defined(CONFIG_MP) && defined(CONFIG_PPC) -#include <asm/mp.h> -#endif  #include <asm/global_data.h>  #include <asm/io.h>  #include <asm/sections.h> @@ -343,6 +340,11 @@ __weak phys_size_t board_get_usable_ram_top(phys_size_t total_size)  	return gd->ram_top;  } +__weak int arch_setup_dest_addr(void) +{ +	return 0; +} +  static int setup_dest_addr(void)  {  	debug("Monitor len: %08lX\n", gd->mon_len); @@ -370,17 +372,8 @@ static int setup_dest_addr(void)  	gd->ram_top = board_get_usable_ram_top(gd->mon_len);  	gd->relocaddr = gd->ram_top;  	debug("Ram top: %08llX\n", (unsigned long long)gd->ram_top); -#if defined(CONFIG_MP) && (defined(CONFIG_MPC86xx) || defined(CONFIG_E500)) -	/* -	 * We need to make sure the location we intend to put secondary core -	 * boot code is reserved and not used by any part of u-boot -	 */ -	if (gd->relocaddr > determine_mp_bootpg(NULL)) { -		gd->relocaddr = determine_mp_bootpg(NULL); -		debug("Reserving MP boot page to %08lx\n", gd->relocaddr); -	} -#endif -	return 0; + +	return arch_setup_dest_addr();  }  #ifdef CONFIG_PRAM | 
