common: Add CONFIG_SKIP_RELOCATE

Add a check for CONFIG_SKIP_RELOCATE in reserve_uboot to skip the
relocation of the U-Boot image.
CONFIG_SKIP_RELOCATE skips relocation of U-Boot to the end of RAM
allowing for systems that have extremely limited RAM to run U-Boot.

Signed-off-by: Jesse Taube <Mr.Bossman075@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
This commit is contained in:
Jesse Taube
2025-04-09 14:08:33 -04:00
committed by Tom Rini
parent 203e5f3f02
commit f9d788d925
2 changed files with 13 additions and 0 deletions

View File

@@ -454,6 +454,12 @@ config TOOLS_DEBUG
it is possible to set breakpoints on particular lines, single-step
debug through the source code, etc.
config SKIP_RELOCATE
bool "Skips relocation of U-Boot to end of RAM"
help
Skips relocation of U-Boot allowing for systems that have extremely
limited RAM to run U-Boot.
endif # EXPERT
config PHYS_64BIT

View File

@@ -477,6 +477,13 @@ static int reserve_trace(void)
static int reserve_uboot(void)
{
/*
* This should be the first place GD_FLG_SKIP_RELOC is read from.
* Set GD_FLG_SKIP_RELOC flag if CONFIG_SKIP_RELOCATE is enabled.
*/
if (CONFIG_IS_ENABLED(SKIP_RELOCATE))
gd->flags |= GD_FLG_SKIP_RELOC;
if (!(gd->flags & GD_FLG_SKIP_RELOC)) {
/*
* reserve memory for U-Boot code, data & bss