diff options
| author | Jesse Taube <[email protected]> | 2025-04-09 14:08:33 -0400 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-04-15 11:21:30 -0600 |
| commit | f9d788d925574109ecf239a16def9450cd4c3ecd (patch) | |
| tree | 63e1531b38ae065f3c7f9c76c6c710026c2a6809 | |
| parent | 203e5f3f02caf113b5df11fe680c8503d671bf1d (diff) | |
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 <[email protected]>
Reviewed-by: Tom Rini <[email protected]>
Reviewed-by: Caleb Connolly <[email protected]>
Reviewed-by: Fabio Estevam <[email protected]>
| -rw-r--r-- | Kconfig | 6 | ||||
| -rw-r--r-- | common/board_f.c | 7 |
2 files changed, 13 insertions, 0 deletions
@@ -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 diff --git a/common/board_f.c b/common/board_f.c index e4e17dd717e..bff465d9cb2 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -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 |
