Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MIPS: kexec: add debug info about the new kexec'ed image

Print details of the new kexec image loaded.

Based on the original code from
commit 221f2c770e10d ("arm64/kexec: Add pr_debug output")

Signed-off-by: Marcin Nowakowski <marcin.nowakowski@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/14614/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

authored by

Marcin Nowakowski and committed by
Ralf Baechle
856b0f59 a8f108d7

+22
+22
arch/mips/kernel/machine_kexec.c
··· 28 28 void (*_crash_smp_send_stop)(void) = NULL; 29 29 #endif 30 30 31 + static void kexec_image_info(const struct kimage *kimage) 32 + { 33 + unsigned long i; 34 + 35 + pr_debug("kexec kimage info:\n"); 36 + pr_debug(" type: %d\n", kimage->type); 37 + pr_debug(" start: %lx\n", kimage->start); 38 + pr_debug(" head: %lx\n", kimage->head); 39 + pr_debug(" nr_segments: %lu\n", kimage->nr_segments); 40 + 41 + for (i = 0; i < kimage->nr_segments; i++) { 42 + pr_debug(" segment[%lu]: %016lx - %016lx, 0x%lx bytes, %lu pages\n", 43 + i, 44 + kimage->segment[i].mem, 45 + kimage->segment[i].mem + kimage->segment[i].memsz, 46 + (unsigned long)kimage->segment[i].memsz, 47 + (unsigned long)kimage->segment[i].memsz / PAGE_SIZE); 48 + } 49 + } 50 + 31 51 int 32 52 machine_kexec_prepare(struct kimage *kimage) 33 53 { 54 + kexec_image_info(kimage); 55 + 34 56 if (_machine_kexec_prepare) 35 57 return _machine_kexec_prepare(kimage); 36 58 return 0;