[U-Boot] [PATCH 1/2] Add error checking for unsupported OS types.
Detlev Zundel
dzu at denx.de
Mon Jul 13 16:01:18 CEST 2009
Signed-off-by: Detlev Zundel <dzu at denx.de>
---
common/cmd_bootm.c | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 367d5a7..d0a6bf7 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -1,5 +1,5 @@
/*
- * (C) Copyright 2000-2006
+ * (C) Copyright 2000-2009
* Wolfgang Denk, DENX Software Engineering, wd at denx.de.
*
* See file CREDITS for list of people who contributed to this
@@ -549,7 +549,8 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
if (!relocated) {
int i;
for (i = 0; i < ARRAY_SIZE(boot_os); i++)
- boot_os[i] += gd->reloc_off;
+ if (boot_os[i] != NULL)
+ boot_os[i] += gd->reloc_off;
relocated = 1;
}
@@ -637,6 +638,16 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
#endif
boot_fn = boot_os[images.os.os];
+
+ if (boot_fn == NULL) {
+ if (iflag)
+ enable_interrupts();
+ printf ("ERROR: booting os '%s' (%d) is not supported\n",
+ genimg_get_os_name(images.os.os), images.os.os);
+ show_boot_progress (-8);
+ return 1;
+ }
+
boot_fn(0, argc, argv, &images);
show_boot_progress (-9);
--
1.6.0.6
More information about the U-Boot
mailing list