BOOT_STATE_INITIAL,
BOOT_STATE_IMAGE_LOADING,
BOOT_STATE_INITRD_LOADING,
BOOT_STATE_INITIAL,
BOOT_STATE_IMAGE_LOADING,
BOOT_STATE_INITRD_LOADING,
struct pb_url *image, *initrd, *dtb;
boot_status_fn status_fn;
void *status_arg;
struct pb_url *image, *initrd, *dtb;
boot_status_fn status_fn;
void *status_arg;
int result = -1;
if (task->state == BOOT_STATE_INITIAL) {
update_status(task->status_fn, task->status_arg,
BOOT_STATUS_INFO, "loading kernel");
task->local_image = load_url_async(task, task->image,
int result = -1;
if (task->state == BOOT_STATE_INITIAL) {
update_status(task->status_fn, task->status_arg,
BOOT_STATUS_INFO, "loading kernel");
task->local_image = load_url_async(task, task->image,
if (!task->local_image) {
update_status(task->status_fn, task->status_arg,
BOOT_STATUS_ERROR,
"Couldn't load kernel image");
goto no_load;
if (!task->local_image) {
update_status(task->status_fn, task->status_arg,
BOOT_STATUS_ERROR,
"Couldn't load kernel image");
goto no_load;
if (task->initrd) {
update_status(task->status_fn, task->status_arg,
BOOT_STATUS_INFO, "loading initrd");
task->local_initrd = load_url_async(task, task->initrd,
if (task->initrd) {
update_status(task->status_fn, task->status_arg,
BOOT_STATUS_INFO, "loading initrd");
task->local_initrd = load_url_async(task, task->initrd,
if (!task->local_initrd) {
update_status(task->status_fn, task->status_arg,
BOOT_STATUS_ERROR,
"Couldn't load initrd image");
goto no_load;
if (!task->local_initrd) {
update_status(task->status_fn, task->status_arg,
BOOT_STATUS_ERROR,
"Couldn't load initrd image");
goto no_load;
if (task->dtb) {
update_status(task->status_fn, task->status_arg,
BOOT_STATUS_INFO,
"loading device tree");
task->local_dtb = load_url_async(task, task->dtb,
if (task->dtb) {
update_status(task->status_fn, task->status_arg,
BOOT_STATUS_INFO,
"loading device tree");
task->local_dtb = load_url_async(task, task->dtb,
if (!task->local_dtb) {
update_status(task->status_fn, task->status_arg,
BOOT_STATUS_ERROR,
"Couldn't load device tree");
goto no_load;
if (!task->local_dtb) {
update_status(task->status_fn, task->status_arg,
BOOT_STATUS_ERROR,
"Couldn't load device tree");
goto no_load;
}
int boot(void *ctx, struct discover_boot_option *opt, struct boot_command *cmd,
}
int boot(void *ctx, struct discover_boot_option *opt, struct boot_command *cmd,