Lines Matching refs: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()
109 if (image->type == KEXEC_TYPE_CRASH) { in kexec_file_update_purgatory()
112 ret = kexec_purgatory_get_set_symbol(image, "crash_start", in kexec_file_update_purgatory()
120 ret = kexec_purgatory_get_set_symbol(image, "crash_size", in kexec_file_update_purgatory()
129 static int kexec_file_add_purgatory(struct kimage *image, in kexec_file_add_purgatory() argument
135 buf.image = image; in kexec_file_add_purgatory()
140 if (image->type == KEXEC_TYPE_CRASH) in kexec_file_add_purgatory()
144 ret = kexec_load_purgatory(image, &buf); in kexec_file_add_purgatory()
149 return kexec_file_update_purgatory(image, data); in kexec_file_add_purgatory()
152 static int kexec_file_add_initrd(struct kimage *image, in kexec_file_add_initrd() argument
158 buf.image = image; in kexec_file_add_initrd()
160 buf.buffer = image->initrd_buf; in kexec_file_add_initrd()
161 buf.bufsz = image->initrd_buf_len; in kexec_file_add_initrd()
166 if (image->type == KEXEC_TYPE_CRASH) in kexec_file_add_initrd()
182 static int kexec_file_add_ipl_report(struct kimage *image, in kexec_file_add_ipl_report() argument
192 buf.image = image; in kexec_file_add_ipl_report()
224 image->arch.ipl_buf = buf.buffer; in kexec_file_add_ipl_report()
233 if (image->type == KEXEC_TYPE_CRASH) in kexec_file_add_ipl_report()
242 void *kexec_file_add_components(struct kimage *image, in kexec_file_add_components() argument
243 int (*add_kernel)(struct kimage *image, in kexec_file_add_components() argument
255 ret = add_kernel(image, &data); in kexec_file_add_components()
261 if (image->kernel_buf_len < minsize) in kexec_file_add_components()
270 if (image->kernel_buf_len < minsize + max_command_line_size) in kexec_file_add_components()
273 if (image->cmdline_buf_len >= max_command_line_size) in kexec_file_add_components()
276 memcpy(data.parm->command_line, image->cmdline_buf, in kexec_file_add_components()
277 image->cmdline_buf_len); in kexec_file_add_components()
280 if (image->type == KEXEC_TYPE_CRASH) { in kexec_file_add_components()
286 if (image->initrd_buf) { in kexec_file_add_components()
287 ret = kexec_file_add_initrd(image, &data); in kexec_file_add_components()
292 ret = kexec_file_add_purgatory(image, &data); in kexec_file_add_components()
298 restart_psw += image->start; in kexec_file_add_components()
300 image->start = 0; in kexec_file_add_components()
303 ret = kexec_file_add_ipl_report(image, &data); in kexec_file_add_components()
383 int arch_kimage_file_post_load_cleanup(struct kimage *image) in arch_kimage_file_post_load_cleanup() argument
385 vfree(image->arch.ipl_buf); in arch_kimage_file_post_load_cleanup()
386 image->arch.ipl_buf = NULL; in arch_kimage_file_post_load_cleanup()
388 return kexec_image_post_load_cleanup_default(image); in arch_kimage_file_post_load_cleanup()