setup_end_tag (bd);
#endif
+ if (!images->autostart)
+ return ;
+
/* we assume that the kernel is in place */
printf ("\nStarting kernel ...\n\n");
params = setup_ethernet_tags(params);
setup_end_tag(params);
+ if (!images->autostart)
+ return ;
+
printf("\nStarting kernel at %p (params at %p)...\n\n",
theKernel, params_start);
char *cmdline;
ulong ep = 0;
+ if (!images->autostart)
+ return ;
+
#ifdef SHARED_RESOURCES
swap_to(FLASH);
#endif
}
+ if (!images->autostart)
+ return ;
+
#ifdef DEBUG
printf ("## Transferring control to Linux (at address %08x) ...\n",
(u32)base_ptr);
show_boot_progress (15);
+ if (!images->autostart)
+ return;
/*
* Linux Kernel Parameters (passing board info data):
* r3: ptr to board info data
return ;
error:
- do_reset (cmdtp, flag, argc, argv);
+ if (images->autostart)
+ do_reset (cmdtp, flag, argc, argv);
return ;
}
(ulong) theKernel);
#endif
+ if (!images->autostart)
+ return ;
+
theKernel (commandline);
}
sprintf (env_buf, "0x%X", (uint) (gd->bd->bi_flashsize));
linux_env_set ("flash_size", env_buf);
+ if (!images->autostart)
+ return ;
+
/* we assume that the kernel is in place */
printf ("\nStarting kernel ...\n\n");
}
void (*kernel)(void) = (void (*)(void))ep;
+ if (!images->autostart)
+ return ;
+
/* For now we assume the Microtronix linux ... which only
* needs to be called ;-)
*/
#if defined(CFG_INIT_RAM_LOCK) && !defined(CONFIG_E500)
unlock_ram_in_cache();
#endif
+ if (!images->autostart)
+ return ;
#if defined(CONFIG_OF_LIBFDT)
if (of_flat_tree) { /* device tree; boot new style */
return ;
error:
- do_reset (cmdtp, flag, argc, argv);
+ if (images->autostart)
+ do_reset (cmdtp, flag, argc, argv);
return ;
}
}
void (*kernel) (void) = (void (*)(void))ep;
+ if (!images->autostart)
+ return ;
+
/* Setup parameters */
memset(PARAM, 0, 0x1000); /* Clear zero page */
strcpy(COMMAND_LINE, bootargs);