Lines Matching full:image
22 * kexec_image_info - Print received image details
25 kexec_image_info(const struct kimage *image) in kexec_image_info() argument
29 pr_debug("Kexec image info:\n"); in kexec_image_info()
30 pr_debug("\ttype: %d\n", image->type); in kexec_image_info()
31 pr_debug("\tstart: %lx\n", image->start); in kexec_image_info()
32 pr_debug("\thead: %lx\n", image->head); in kexec_image_info()
33 pr_debug("\tnr_segments: %lu\n", image->nr_segments); in kexec_image_info()
35 for (i = 0; i < image->nr_segments; i++) { in kexec_image_info()
37 image->segment[i].mem, in kexec_image_info()
38 image->segment[i].mem + image->segment[i].memsz); in kexec_image_info()
40 (unsigned long) image->segment[i].memsz, in kexec_image_info()
41 (unsigned long) image->segment[i].memsz / PAGE_SIZE); in kexec_image_info()
49 * provided us with an image to be loaded. Its goal is to validate
50 * the image and prepare the control code buffer as needed.
55 machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() argument
57 struct kimage_arch *internal = &image->arch; in machine_kexec_prepare()
63 kexec_image_info(image); in machine_kexec_prepare()
66 for (i = 0; i < image->nr_segments; i++) { in machine_kexec_prepare()
67 if (image->segment[i].memsz <= sizeof(fdt)) in machine_kexec_prepare()
70 if (image->file_mode) in machine_kexec_prepare()
71 memcpy(&fdt, image->segment[i].buf, sizeof(fdt)); in machine_kexec_prepare()
72 else if (copy_from_user(&fdt, image->segment[i].buf, sizeof(fdt))) in machine_kexec_prepare()
78 internal->fdt_addr = (unsigned long) image->segment[i].mem; in machine_kexec_prepare()
83 pr_err("Device tree not included in the provided image\n"); in machine_kexec_prepare()
88 if (image->type != KEXEC_TYPE_CRASH) { in machine_kexec_prepare()
89 control_code_buffer = page_address(image->control_code_page); in machine_kexec_prepare()
90 control_code_buffer_sz = page_size(image->control_code_page); in machine_kexec_prepare()
118 machine_kexec_cleanup(struct kimage *image) in machine_kexec_cleanup() argument
206 machine_kexec(struct kimage *image) in machine_kexec() argument
208 struct kimage_arch *internal = &image->arch; in machine_kexec()
209 unsigned long jump_addr = (unsigned long) image->start; in machine_kexec()
210 unsigned long first_ind_entry = (unsigned long) &image->head; in machine_kexec()
214 void *control_code_buffer = page_address(image->control_code_page); in machine_kexec()
222 if (image->type != KEXEC_TYPE_CRASH) in machine_kexec()
229 pr_notice("FDT image at %08lx\n", fdt_addr); in machine_kexec()