[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20251021091114.982820-1-maqianga@uniontech.com>
Date: Tue, 21 Oct 2025 17:11:14 +0800
From: Qiang Ma <maqianga@...ontech.com>
To: chenhuacai@...nel.org,
kernel@...0n.name
Cc: loongarch@...ts.linux.dev,
linux-kernel@...r.kernel.org,
Qiang Ma <maqianga@...ontech.com>
Subject: [PATCH] LoongArch: kexec_file: print out debugging message if required
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