[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAAhV-H5P9GGbSz0=J+a1hVkLVLwQWq1LfH7dxq4XHLqpgx7wDQ@mail.gmail.com>
Date: Fri, 24 Oct 2025 15:04:25 +0800
From: Huacai Chen <chenhuacai@...nel.org>
To: Qiang Ma <maqianga@...ontech.com>, Youling Tang <youling.tang@...ux.dev>
Cc: kernel@...0n.name, loongarch@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] LoongArch: kexec_file: print out debugging message if required
Hi, Youling,
What do you think about this?
Huacai
On Tue, Oct 21, 2025 at 5:12 PM Qiang Ma <maqianga@...ontech.com> wrote:
>
> When specifying '-d' for kexec_file_load interface, loaded locations
> of kernel/initrd/cmdline etc can be printed out to help debug.
>
> Commit eb7622d908a0 ("kexec_file, riscv: print out debugging message
> if required") fixes the same issue on RISC-V.
>
> So, remove kexec_image_info() because the content has been printed
> out in generic code.
>
> And on Loongson-3A5000, the printed messages look like below:
>
> [ 288.667939] kexec_file: kernel: 00000000d9aad283 kernel_size: 0x2e77f30
> [ 288.668414] kexec_file(EFI): No LoongArch PE image header.
> [ 288.703104] kexec_file: Loaded initrd at 0x80000000 bufsz=0x1637cd0 memsz=0x1638000
> [ 288.703674] kexec_file(ELF): Loaded kernel at 0x9c20000 bufsz=0x27f1800 memsz=0x2950000
> [ 288.704092] kexec_file: nr_segments = 2
> [ 288.704277] kexec_file: segment[0]: buf=0x00000000cc3e6c33 bufsz=0x27f1800 mem=0x9c20000 memsz=0x2950000
> [ 288.741213] kexec_file: segment[1]: buf=0x00000000bb75a541 bufsz=0x1637cd0 mem=0x80000000 memsz=0x1638000
> [ 288.757182] kexec_file: kexec_file_load: type:0, start:0xb15d000 head:0x18db60002 flags:0x8
>
> Signed-off-by: Qiang Ma <maqianga@...ontech.com>
> ---
> arch/loongarch/kernel/machine_kexec.c | 22 ----------------------
> 1 file changed, 22 deletions(-)
>
> diff --git a/arch/loongarch/kernel/machine_kexec.c b/arch/loongarch/kernel/machine_kexec.c
> index e4b2bbc47e62..2d64b7c81e5e 100644
> --- a/arch/loongarch/kernel/machine_kexec.c
> +++ b/arch/loongarch/kernel/machine_kexec.c
> @@ -39,34 +39,12 @@ static unsigned long systable_ptr;
> static unsigned long start_addr;
> static unsigned long first_ind_entry;
>
> -static void kexec_image_info(const struct kimage *kimage)
> -{
> - unsigned long i;
> -
> - pr_debug("kexec kimage info:\n");
> - pr_debug("\ttype: %d\n", kimage->type);
> - pr_debug("\tstart: %lx\n", kimage->start);
> - pr_debug("\thead: %lx\n", kimage->head);
> - pr_debug("\tnr_segments: %lu\n", kimage->nr_segments);
> -
> - for (i = 0; i < kimage->nr_segments; i++) {
> - pr_debug("\t segment[%lu]: %016lx - %016lx", i,
> - kimage->segment[i].mem,
> - kimage->segment[i].mem + kimage->segment[i].memsz);
> - pr_debug("\t\t0x%lx bytes, %lu pages\n",
> - (unsigned long)kimage->segment[i].memsz,
> - (unsigned long)kimage->segment[i].memsz / PAGE_SIZE);
> - }
> -}
> -
> int machine_kexec_prepare(struct kimage *kimage)
> {
> int i;
> char *bootloader = "kexec";
> void *cmdline_ptr = (void *)KEXEC_CMDLINE_ADDR;
>
> - kexec_image_info(kimage);
> -
> kimage->arch.efi_boot = fw_arg0;
> kimage->arch.systable_ptr = fw_arg2;
>
> --
> 2.20.1
>
Powered by blists - more mailing lists