Lines Matching refs:spl_image

82 void __weak spl_perform_fixups(struct spl_image_info *spl_image)  in spl_perform_fixups()  argument
93 int __weak spl_board_prepare_for_jump(struct spl_image_info *spl_image) in spl_board_prepare_for_jump() argument
146 void spl_set_header_raw_uboot(struct spl_image_info *spl_image) in spl_set_header_raw_uboot() argument
148 spl_image->size = CONFIG_SYS_MONITOR_LEN; in spl_set_header_raw_uboot()
149 spl_image->entry_point = CONFIG_SYS_UBOOT_START; in spl_set_header_raw_uboot()
150 spl_image->load_addr = CONFIG_SYS_TEXT_BASE; in spl_set_header_raw_uboot()
151 spl_image->os = IH_OS_U_BOOT; in spl_set_header_raw_uboot()
152 spl_image->name = "U-Boot"; in spl_set_header_raw_uboot()
155 int spl_parse_image_header(struct spl_image_info *spl_image, in spl_parse_image_header() argument
162 if (spl_image->flags & SPL_COPY_PAYLOAD_ONLY) { in spl_parse_image_header()
168 spl_image->load_addr = image_get_load(header); in spl_parse_image_header()
169 spl_image->entry_point = image_get_ep(header); in spl_parse_image_header()
170 spl_image->size = image_get_data_size(header); in spl_parse_image_header()
172 spl_image->entry_point = image_get_load(header); in spl_parse_image_header()
174 spl_image->load_addr = spl_image->entry_point - in spl_parse_image_header()
176 spl_image->size = image_get_data_size(header) + in spl_parse_image_header()
179 spl_image->os = image_get_os(header); in spl_parse_image_header()
180 spl_image->name = image_get_name(header); in spl_parse_image_header()
182 IH_NMLEN, spl_image->name, in spl_parse_image_header()
183 spl_image->load_addr, spl_image->size); in spl_parse_image_header()
206 spl_image->name = "Linux"; in spl_parse_image_header()
207 spl_image->os = IH_OS_LINUX; in spl_parse_image_header()
208 spl_image->load_addr = CONFIG_SYS_LOAD_ADDR; in spl_parse_image_header()
209 spl_image->entry_point = CONFIG_SYS_LOAD_ADDR; in spl_parse_image_header()
210 spl_image->size = end - start; in spl_parse_image_header()
212 spl_image->load_addr, spl_image->size); in spl_parse_image_header()
221 spl_set_header_raw_uboot(spl_image); in spl_parse_image_header()
232 __weak void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image) in jump_to_image_no_args() argument
237 (image_entry_noargs_t)spl_image->entry_point; in jump_to_image_no_args()
239 debug("image entry point: 0x%lX\n", spl_image->entry_point); in jump_to_image_no_args()
421 static int spl_load_image(struct spl_image_info *spl_image, in spl_load_image() argument
429 return loader->load_image(spl_image, &bootdev); in spl_load_image()
440 static int boot_from_devices(struct spl_image_info *spl_image, in boot_from_devices() argument
455 if (loader && !spl_load_image(spl_image, loader)) { in boot_from_devices()
456 spl_image->boot_device = spl_boot_list[i]; in boot_from_devices()
495 static void boot_jump_linux(struct spl_image_info *spl_image) in boot_jump_linux() argument
500 (ulong)spl_image->entry_point_os); in boot_jump_linux()
501 spl_cleanup_before_jump(spl_image); in boot_jump_linux()
502 kernel_entry = (void (*)(int, int, ulong))spl_image->entry_point_os; in boot_jump_linux()
503 kernel_entry(0, 0, (ulong)spl_image->fdt_addr); in boot_jump_linux()
516 struct spl_image_info spl_image; in board_init_r() local
549 memset(&spl_image, '\0', sizeof(spl_image)); in board_init_r()
560 spl_image.entry_point_bl32 = -1; in board_init_r()
561 spl_image.entry_point_bl33 = CONFIG_SYS_TEXT_BASE; in board_init_r()
566 spl_image.entry_point_os = CONFIG_SYS_TEXT_BASE; in board_init_r()
570 spl_image.arg = (void *)CONFIG_SYS_SPL_ARGS_ADDR; in board_init_r()
572 spl_image.boot_device = BOOT_DEVICE_NONE; in board_init_r()
574 spl_next_stage(&spl_image); in board_init_r()
575 if (boot_from_devices(&spl_image, spl_boot_list, in board_init_r()
581 spl_perform_fixups(&spl_image); in board_init_r()
588 spl_image.entry_point |= 0x1; in board_init_r()
590 switch (spl_image.os) { in board_init_r()
593 spl_cleanup_before_jump(&spl_image); in board_init_r()
598 spl_image.next_stage == SPL_NEXT_STAGE_UBOOT ? "U-Boot" : in board_init_r()
599 (spl_image.next_stage == SPL_NEXT_STAGE_KERNEL ? "Kernel" : "Unknown"), in board_init_r()
600 (ulong)spl_image.entry_point_bl33, in board_init_r()
601 (ulong)spl_image.entry_point); in board_init_r()
602 spl_invoke_atf(&spl_image); in board_init_r()
608 spl_image.next_stage == SPL_NEXT_STAGE_UBOOT ? "U-Boot" : in board_init_r()
609 (spl_image.next_stage == SPL_NEXT_STAGE_KERNEL ? "Kernel" : "Unknown"), in board_init_r()
610 (ulong)spl_image.entry_point_os, in board_init_r()
611 (ulong)spl_image.entry_point); in board_init_r()
612 spl_cleanup_before_jump(&spl_image); in board_init_r()
613 spl_optee_entry(NULL, (void *)spl_image.entry_point_os, in board_init_r()
614 (void *)spl_image.fdt_addr, in board_init_r()
615 (void *)spl_image.entry_point); in board_init_r()
623 jump_to_image_linux(&spl_image); in board_init_r()
625 boot_jump_linux(&spl_image); in board_init_r()
647 printf("Jumping to U-Boot(0x%08lx)\n", spl_image.entry_point); in board_init_r()
649 jump_to_image_no_args(&spl_image); in board_init_r()
720 void spl_cleanup_before_jump(struct spl_image_info *spl_image) in spl_cleanup_before_jump() argument
724 spl_board_prepare_for_jump(spl_image); in spl_cleanup_before_jump()