X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=lib_mips%2Fbootm.c;h=54af24cba3f7cd8af0ed843e72a2399ae07e0ce2;hb=4e7b25e4fe777f525e426cbd58c3a3976c564f2e;hp=9869c33372e925abd4f1bca8d28bf1487440ea9e;hpb=c4f9419c6b54958e0eddbcbc9e5a4a7b7ec99865;p=u-boot diff --git a/lib_mips/bootm.c b/lib_mips/bootm.c index 9869c33372..54af24cba3 100644 --- a/lib_mips/bootm.c +++ b/lib_mips/bootm.c @@ -24,7 +24,7 @@ #include #include #include -#include +#include #include #include @@ -43,17 +43,16 @@ static int linux_env_idx; static void linux_params_init (ulong start, char * commandline); static void linux_env_set (char * env_name, char * env_val); -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) { void (*theKernel) (int, char **, char **, int *); char *commandline = getenv ("bootargs"); char env_buf[12]; - int ret; char *cp; + if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) + return 1; + /* find kernel entry point */ theKernel = (void (*)(int, char **, char **, int *))images->ep; @@ -77,7 +76,7 @@ void do_bootm_linux (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[], linux_env_set ("memsize", env_buf); sprintf (env_buf, "0x%08X", (uint) UNCACHED_SDRAM (images->rd_start)); - linux_env_set ("images->rd_start", env_buf); + linux_env_set ("initrd_start", env_buf); sprintf (env_buf, "0x%X", (uint) (images->rd_end - images->rd_start)); linux_env_set ("initrd_size", env_buf); @@ -103,11 +102,7 @@ void do_bootm_linux (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[], theKernel (linux_argc, linux_argv, linux_env, 0); /* does not return */ - return; - -error: - do_reset (cmdtp, flag, argc, argv); - return; + return 1; } static void linux_params_init (ulong start, char *line)