summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2021-02-17 12:55:54 +0100
committerTom Rini <trini@konsulko.com>2021-04-12 17:17:11 -0400
commit0ca7c4d964dcce1ca3e0f7e1cdb8031561fdeab6 (patch)
tree5f81bff7bc653177d788caa86ea29ccd7f21dc6e /arch
parenta479f103dc1c801d0c6fe90bbaf99ae1700a84dc (diff)
bootm: do not hang on failure
On ARMv8 systems load mmc 0:1 $loadaddr vmlinuz-5.10.0-3-arm64 booti leads to a hanging system requiring to physically reset the system: FDT and ATAGS support not compiled in - hanging ### ERROR ### Please RESET the board ### For systems where physical access is difficult hanging is a poor choice. It is preferable to reset the system when U-Boot reaches a state that is not recoverable. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/lib/bootm.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index 11af9e2fb9..f60ee3a7e6 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -16,7 +16,6 @@
#include <command.h>
#include <cpu_func.h>
#include <dm.h>
-#include <hang.h>
#include <lmb.h>
#include <log.h>
#include <asm/global_data.h>
@@ -249,8 +248,7 @@ static void boot_prep_linux(bootm_headers_t *images)
#ifdef CONFIG_OF_LIBFDT
debug("using: FDT\n");
if (image_setup_linux(images)) {
- printf("FDT creation failed! hanging...");
- hang();
+ panic("FDT creation failed!");
}
#endif
} else if (BOOTM_ENABLE_TAGS) {
@@ -283,8 +281,7 @@ static void boot_prep_linux(bootm_headers_t *images)
setup_board_tags(&params);
setup_end_tag(gd->bd);
} else {
- printf("FDT and ATAGS support not compiled in - hanging\n");
- hang();
+ panic("FDT and ATAGS support not compiled in\n");
}
board_prep_linux(images);