Lines Matching full:image

20  * kexec_image_info - Print received image details
23 kexec_image_info(const struct kimage *image) in kexec_image_info() argument
27 pr_debug("Kexec image info:\n"); in kexec_image_info()
28 pr_debug("\ttype: %d\n", image->type); in kexec_image_info()
29 pr_debug("\tstart: %lx\n", image->start); in kexec_image_info()
30 pr_debug("\thead: %lx\n", image->head); in kexec_image_info()
31 pr_debug("\tnr_segments: %lu\n", image->nr_segments); in kexec_image_info()
33 for (i = 0; i < image->nr_segments; i++) { in kexec_image_info()
35 image->segment[i].mem, in kexec_image_info()
36 image->segment[i].mem + image->segment[i].memsz); in kexec_image_info()
38 (unsigned long) image->segment[i].memsz, in kexec_image_info()
39 (unsigned long) image->segment[i].memsz / PAGE_SIZE); in kexec_image_info()
47 * provided us with an image to be loaded. Its goal is to validate
48 * the image and prepare the control code buffer as needed.
53 machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() argument
55 struct kimage_arch *internal = &image->arch; in machine_kexec_prepare()
61 kexec_image_info(image); in machine_kexec_prepare()
64 for (i = 0; i < image->nr_segments; i++) { in machine_kexec_prepare()
65 if (image->segment[i].memsz <= sizeof(fdt)) in machine_kexec_prepare()
68 if (copy_from_user(&fdt, image->segment[i].buf, sizeof(fdt))) in machine_kexec_prepare()
74 internal->fdt_addr = (unsigned long) image->segment[i].mem; in machine_kexec_prepare()
79 pr_err("Device tree not included in the provided image\n"); in machine_kexec_prepare()
84 if (image->type != KEXEC_TYPE_CRASH) { in machine_kexec_prepare()
85 control_code_buffer = page_address(image->control_code_page); in machine_kexec_prepare()
86 control_code_buffer_sz = page_size(image->control_code_page); in machine_kexec_prepare()
114 machine_kexec_cleanup(struct kimage *image) in machine_kexec_cleanup() argument
167 machine_kexec(struct kimage *image) in machine_kexec() argument
169 struct kimage_arch *internal = &image->arch; in machine_kexec()
170 unsigned long jump_addr = (unsigned long) image->start; in machine_kexec()
171 unsigned long first_ind_entry = (unsigned long) &image->head; in machine_kexec()
174 void *control_code_buffer = page_address(image->control_code_page); in machine_kexec()
177 if (image->type != KEXEC_TYPE_CRASH) in machine_kexec()
184 pr_notice("FDT image at %08lx\n", fdt_addr); in machine_kexec()