Lines Matching refs:kimage
42 static void kexec_image_info(const struct kimage *kimage) in kexec_image_info() argument
47 pr_debug("\ttype: %d\n", kimage->type); in kexec_image_info()
48 pr_debug("\tstart: %lx\n", kimage->start); in kexec_image_info()
49 pr_debug("\thead: %lx\n", kimage->head); in kexec_image_info()
50 pr_debug("\tnr_segments: %lu\n", kimage->nr_segments); in kexec_image_info()
52 for (i = 0; i < kimage->nr_segments; i++) { in kexec_image_info()
54 kimage->segment[i].mem, in kexec_image_info()
55 kimage->segment[i].mem + kimage->segment[i].memsz); in kexec_image_info()
57 (unsigned long)kimage->segment[i].memsz, in kexec_image_info()
58 (unsigned long)kimage->segment[i].memsz / PAGE_SIZE); in kexec_image_info()
62 int machine_kexec_prepare(struct kimage *kimage) in machine_kexec_prepare() argument
68 kexec_image_info(kimage); in machine_kexec_prepare()
70 kimage->arch.efi_boot = fw_arg0; in machine_kexec_prepare()
71 kimage->arch.systable_ptr = fw_arg2; in machine_kexec_prepare()
74 for (i = 0; i < kimage->nr_segments; i++) { in machine_kexec_prepare()
75 if (!strncmp(bootloader, (char __user *)kimage->segment[i].buf, strlen(bootloader))) { in machine_kexec_prepare()
76 if (!copy_from_user(cmdline_ptr, kimage->segment[i].buf, COMMAND_LINE_SIZE)) in machine_kexec_prepare()
77 kimage->arch.cmdline_ptr = (unsigned long)cmdline_ptr; in machine_kexec_prepare()
82 if (!kimage->arch.cmdline_ptr) { in machine_kexec_prepare()
88 kimage->control_code_page = virt_to_page((void *)KEXEC_CONTROL_CODE); in machine_kexec_prepare()
90 reboot_code_buffer = (unsigned long)page_address(kimage->control_code_page); in machine_kexec_prepare()
101 void machine_kexec_cleanup(struct kimage *kimage) in machine_kexec_cleanup() argument
257 void machine_kexec(struct kimage *image) in machine_kexec()