X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=lib_nios2%2Fbootm.c;h=53fd5691ad7dd9c288d0b252fa061db0f99edd6b;hb=170c19725ecd3a0e2e517dfd49979ca8822edec0;hp=0c89e963582087535b9c15c09c27fff8ea26fdf0;hpb=cd7c596e9f561dbbc17b717277438aee78cde14f;p=platform%2Fkernel%2Fu-boot.git diff --git a/lib_nios2/bootm.c b/lib_nios2/bootm.c index 0c89e96..53fd5691 100644 --- a/lib_nios2/bootm.c +++ b/lib_nios2/bootm.c @@ -25,43 +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; - - /* find kernel entry point */ - if (images->legacy_hdr_valid) { - ep = image_get_ep (images->legacy_hdr_os); -#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; + void (*kernel)(void) = (void (*)(void))images->ep; - if (!images->autostart) - return ; + 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: - if (images->autostart) - do_reset (cmdtp, flag, argc, argv); - return; + return 1; }