mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
board_f: Only reserve memory for U-Boot if we're going to relocate
In case of no relocation we'll just waste some space at the very end of usable memory area. If target device has very limited amount of memory (for example 256 kB) this loss will be pretty inconvenient. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Reviewed-by: Simon Glass <sjg@chromium.org> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Heiko Schocher <hs@denx.de> Cc: York Sun <york.sun@nxp.com> Cc: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
0899bd269e
commit
ff2b2ba845
1 changed files with 14 additions and 12 deletions
|
@ -394,19 +394,21 @@ static int reserve_trace(void)
|
|||
|
||||
static int reserve_uboot(void)
|
||||
{
|
||||
/*
|
||||
* reserve memory for U-Boot code, data & bss
|
||||
* round down to next 4 kB limit
|
||||
*/
|
||||
gd->relocaddr -= gd->mon_len;
|
||||
gd->relocaddr &= ~(4096 - 1);
|
||||
#if defined(CONFIG_E500) || defined(CONFIG_MIPS)
|
||||
/* round down to next 64 kB limit so that IVPR stays aligned */
|
||||
gd->relocaddr &= ~(65536 - 1);
|
||||
#endif
|
||||
if (!(gd->flags & GD_FLG_SKIP_RELOC)) {
|
||||
/*
|
||||
* reserve memory for U-Boot code, data & bss
|
||||
* round down to next 4 kB limit
|
||||
*/
|
||||
gd->relocaddr -= gd->mon_len;
|
||||
gd->relocaddr &= ~(4096 - 1);
|
||||
#if defined(CONFIG_E500) || defined(CONFIG_MIPS)
|
||||
/* round down to next 64 kB limit so that IVPR stays aligned */
|
||||
gd->relocaddr &= ~(65536 - 1);
|
||||
#endif
|
||||
|
||||
debug("Reserving %ldk for U-Boot at: %08lx\n", gd->mon_len >> 10,
|
||||
gd->relocaddr);
|
||||
debug("Reserving %ldk for U-Boot at: %08lx\n",
|
||||
gd->mon_len >> 10, gd->relocaddr);
|
||||
}
|
||||
|
||||
gd->start_addr_sp = gd->relocaddr;
|
||||
|
||||
|
|
Loading…
Reference in a new issue