Lines Matching full:image

84 static int kexec_file_update_purgatory(struct kimage *image,  in kexec_file_update_purgatory()  argument
90 if (image->type == KEXEC_TYPE_CRASH) { in kexec_file_update_purgatory()
98 ret = kexec_purgatory_get_set_symbol(image, "kernel_entry", &entry, in kexec_file_update_purgatory()
103 ret = kexec_purgatory_get_set_symbol(image, "kernel_type", &type, in kexec_file_update_purgatory()
108 if (image->type == KEXEC_TYPE_CRASH) { in kexec_file_update_purgatory()
111 ret = kexec_purgatory_get_set_symbol(image, "crash_start", in kexec_file_update_purgatory()
119 ret = kexec_purgatory_get_set_symbol(image, "crash_size", in kexec_file_update_purgatory()
127 static int kexec_file_add_purgatory(struct kimage *image, in kexec_file_add_purgatory() argument
133 buf.image = image; in kexec_file_add_purgatory()
137 if (image->type == KEXEC_TYPE_CRASH) in kexec_file_add_purgatory()
140 ret = kexec_load_purgatory(image, &buf); in kexec_file_add_purgatory()
145 return kexec_file_update_purgatory(image, data); in kexec_file_add_purgatory()
148 static int kexec_file_add_initrd(struct kimage *image, in kexec_file_add_initrd() argument
154 buf.image = image; in kexec_file_add_initrd()
156 buf.buffer = image->initrd_buf; in kexec_file_add_initrd()
157 buf.bufsz = image->initrd_buf_len; in kexec_file_add_initrd()
161 if (image->type == KEXEC_TYPE_CRASH) in kexec_file_add_initrd()
176 static int kexec_file_add_ipl_report(struct kimage *image, in kexec_file_add_ipl_report() argument
186 buf.image = image; in kexec_file_add_ipl_report()
190 if (image->type == KEXEC_TYPE_CRASH) in kexec_file_add_ipl_report()
220 image->arch.ipl_buf = buf.buffer; in kexec_file_add_ipl_report()
233 void *kexec_file_add_components(struct kimage *image, in kexec_file_add_components() argument
234 int (*add_kernel)(struct kimage *image, in kexec_file_add_components() argument
246 ret = add_kernel(image, &data); in kexec_file_add_components()
252 if (image->kernel_buf_len < minsize) in kexec_file_add_components()
261 if (image->kernel_buf_len < minsize + max_command_line_size) in kexec_file_add_components()
264 if (image->cmdline_buf_len >= max_command_line_size) in kexec_file_add_components()
267 memcpy(data.parm->command_line, image->cmdline_buf, in kexec_file_add_components()
268 image->cmdline_buf_len); in kexec_file_add_components()
270 if (image->type == KEXEC_TYPE_CRASH) { in kexec_file_add_components()
275 if (image->initrd_buf) { in kexec_file_add_components()
276 ret = kexec_file_add_initrd(image, &data); in kexec_file_add_components()
281 ret = kexec_file_add_purgatory(image, &data); in kexec_file_add_components()
287 restart_psw += image->start; in kexec_file_add_components()
289 image->start = 0; in kexec_file_add_components()
292 ret = kexec_file_add_ipl_report(image, &data); in kexec_file_add_components()
372 int arch_kimage_file_post_load_cleanup(struct kimage *image) in arch_kimage_file_post_load_cleanup() argument
374 vfree(image->arch.ipl_buf); in arch_kimage_file_post_load_cleanup()
375 image->arch.ipl_buf = NULL; in arch_kimage_file_post_load_cleanup()
377 return kexec_image_post_load_cleanup_default(image); in arch_kimage_file_post_load_cleanup()