[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8b3b0e36-510f-4c50-aa22-0aa5317c5a42@linux.dev>
Date: Fri, 24 Oct 2025 15:26:07 +0800
From: Youling Tang <youling.tang@...ux.dev>
To: Huacai Chen <chenhuacai@...nel.org>, Qiang Ma <maqianga@...ontech.com>
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
On 10/24/25 15:04, Huacai Chen wrote:
> 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.
Although kexec_image_info() could be considered for removal in the case
of kexec_file,
in the context of kexec_load, when using the -d parameter of
kexec-tools, although the
userspace program outputs extensive debugging information, it is
recommended to retain
this information during the debugging phase to verify the accuracy of
data transmission
after it is passed into the kernel.
Thanks,
Youling.
>>
>> 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