X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=lib_nios2%2Fbootm.c;h=53fd5691ad7dd9c288d0b252fa061db0f99edd6b;hb=bdb2802f4acf7be9a6a3e06ba270a3dab95df400;hp=18cf7736efba956cc892db2f45da4900d1921b89;hpb=3216ca9692ff80d7c638723ef448f3d36301d9e7;p=u-boot diff --git a/lib_nios2/bootm.c b/lib_nios2/bootm.c index 18cf7736ef..53fd5691ad 100644 --- a/lib_nios2/bootm.c +++ b/lib_nios2/bootm.c @@ -25,39 +25,18 @@ #include #include -extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]); - -void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], - bootm_headers_t *images) +int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images) { - ulong ep = 0; + void (*kernel)(void) = (void (*)(void))images->ep; - /* find kernel entry point */ - if (images->legacy_hdr_valid) { - ep = image_get_ep (&images->legacy_hdr_os_copy); -#if defined(CONFIG_FIT) - } else if (images->fit_uname_os) { - int ret = fit_image_get_entry (images->fit_hdr_os, - images->fit_noffset_os, &ep); - if (ret) { - puts ("Can't get entry point property!\n"); - goto error; - } -#endif - } else { - puts ("Could not find kernel entry point!\n"); - goto error; - } - void (*kernel)(void) = (void (*)(void))ep; + if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) + return 1; /* For now we assume the Microtronix linux ... which only * needs to be called ;-) */ kernel (); /* does not return */ - return; -error: - do_reset (cmdtp, flag, argc, argv); - return; + return 1; }