• Home
  • Raw
  • Download

Lines Matching refs:kimage

36 	const struct kimage *kimage)  in _kexec_image_info()  argument
42 pr_debug(" type: %d\n", kimage->type); in _kexec_image_info()
43 pr_debug(" start: %lx\n", kimage->start); in _kexec_image_info()
44 pr_debug(" head: %lx\n", kimage->head); in _kexec_image_info()
45 pr_debug(" nr_segments: %lu\n", kimage->nr_segments); in _kexec_image_info()
46 pr_debug(" kern_reloc: %pa\n", &kimage->arch.kern_reloc); in _kexec_image_info()
48 for (i = 0; i < kimage->nr_segments; i++) { in _kexec_image_info()
51 kimage->segment[i].mem, in _kexec_image_info()
52 kimage->segment[i].mem + kimage->segment[i].memsz, in _kexec_image_info()
53 kimage->segment[i].memsz, in _kexec_image_info()
54 kimage->segment[i].memsz / PAGE_SIZE); in _kexec_image_info()
58 void machine_kexec_cleanup(struct kimage *kimage) in machine_kexec_cleanup() argument
63 int machine_kexec_post_load(struct kimage *kimage) in machine_kexec_post_load() argument
65 void *reloc_code = page_to_virt(kimage->control_code_page); in machine_kexec_post_load()
69 kimage->arch.kern_reloc = __pa(reloc_code); in machine_kexec_post_load()
70 kexec_image_info(kimage); in machine_kexec_post_load()
93 int machine_kexec_prepare(struct kimage *kimage) in machine_kexec_prepare() argument
95 if (kimage->type != KEXEC_TYPE_CRASH && cpus_are_stuck_in_kernel()) { in machine_kexec_prepare()
106 static void kexec_list_flush(struct kimage *kimage) in kexec_list_flush() argument
110 for (entry = &kimage->head; ; entry++) { in kexec_list_flush()
145 static void kexec_segment_flush(const struct kimage *kimage) in kexec_segment_flush() argument
151 for (i = 0; i < kimage->nr_segments; i++) { in kexec_segment_flush()
154 kimage->segment[i].mem, in kexec_segment_flush()
155 kimage->segment[i].mem + kimage->segment[i].memsz, in kexec_segment_flush()
156 kimage->segment[i].memsz, in kexec_segment_flush()
157 kimage->segment[i].memsz / PAGE_SIZE); in kexec_segment_flush()
160 (unsigned long)phys_to_virt(kimage->segment[i].mem), in kexec_segment_flush()
161 (unsigned long)phys_to_virt(kimage->segment[i].mem) + in kexec_segment_flush()
162 kimage->segment[i].memsz); in kexec_segment_flush()
171 void machine_kexec(struct kimage *kimage) in machine_kexec() argument
173 bool in_kexec_crash = (kimage == kexec_crash_image); in machine_kexec()
184 kexec_list_flush(kimage); in machine_kexec()
187 if ((kimage != kexec_crash_image) && (kimage->head & IND_DONE)) in machine_kexec()
188 kexec_segment_flush(kimage); in machine_kexec()
206 cpu_soft_restart(kimage->arch.kern_reloc, kimage->head, kimage->start, in machine_kexec()
207 kimage->arch.dtb_mem); in machine_kexec()