X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=lib_microblaze%2Fbootm.c;h=e97aae6881e39880079643d23f12bbed760d378c;hb=695c130e4bf75b444720ddfd83aca88f41c046cf;hp=68edcdba1d674589b03f3d5838e9cdaa4a5a3840;hpb=b315ad8f0aa0cf68ccc895d41c933d777fdaba8e;p=u-boot diff --git a/lib_microblaze/bootm.c b/lib_microblaze/bootm.c index 68edcdba1d..e97aae6881 100644 --- a/lib_microblaze/bootm.c +++ b/lib_microblaze/bootm.c @@ -32,33 +32,16 @@ DECLARE_GLOBAL_DATA_PTR; -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) { /* First parameter is mapped to $r5 for kernel boot args */ void (*theKernel) (char *); char *commandline = getenv ("bootargs"); - ulong ep = 0; - /* 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; - } - theKernel = (void (*)(char *))ep; + if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) + return 1; + + theKernel = (void (*)(char *))images->ep; show_boot_progress (15); @@ -69,9 +52,6 @@ void do_bootm_linux (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[], theKernel (commandline); /* does not return */ - return; -error: - do_reset (cmdtp, flag, argc, argv); - return; + return 1; }