As do_bootm/do_booti/do_bootz will not return if the boot succeded, always
call them if enable by the config.
Also add a fallback to go if the binary is a raw one.

Signed-off-by: Emmanuel Vadot <m...@freebsd.org>
---
 cmd/pxe.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/cmd/pxe.c b/cmd/pxe.c
index 7043ad11fd..0ca6a964bc 100644
--- a/cmd/pxe.c
+++ b/cmd/pxe.c
@@ -796,12 +796,14 @@ static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label 
*label)
                do_bootm(cmdtp, 0, bootm_argc, bootm_argv);
 #ifdef CONFIG_CMD_BOOTI
        /* Try booting an AArch64 Linux kernel image */
-       else
-               do_booti(cmdtp, 0, bootm_argc, bootm_argv);
-#elif defined(CONFIG_CMD_BOOTZ)
+       do_booti(cmdtp, 0, bootm_argc, bootm_argv);
+#endif
+#if defined(CONFIG_CMD_BOOTZ)
        /* Try booting a Image */
-       else
-               do_bootz(cmdtp, 0, bootm_argc, bootm_argv);
+       do_bootz(cmdtp, 0, bootm_argc, bootm_argv);
+#endif
+#if defined(CONFIG_CMD_GO)
+       do_go(cmdtp, 0, bootm_argc, bootm_argv);
 #endif
        unmap_sysmem(buf);
        return 1;
-- 
2.15.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to