Re: [PATCH 0/6] Add kexec_file support for LoongArch
From: Vincent Li
Date: Mon Aug 11 2025 - 12:31:56 EST
Hi Youling,
On Mon, Aug 11, 2025 at 2:28 AM Youling Tang <youling.tang@xxxxxxxxx> wrote:
>
> From: Youling Tang <tangyouling@xxxxxxxxxx>
>
> This patchset implement kexec_file_load() support on LoongArch.
>
> This patch series enables us to load the LoongArch vmlinuz.efi or
> vmlinux.efi by specifying its file decriptor, instead of user-filled
> buffer via kexec_load() syscall.
>
> To use kexec_file_load() system call, instead of kexec_load(), at kexec
> command, '-s' options must be specified. kexec-tools needs to apply the
> corresponding patches. These patches can be found in repository [1] and
> will be submitted to the kexec-tools community later.
>
> The basic usage of kexec_file is:
> 1) Load second kernel image:
> # kexec -s -l vmlinuz.efi --initrd=initrd.img --reuse-cmdline
>
> 2) Startup second kernel:
> # kexec -e
>
> For kdump:
> 1) Load capture kernel image:
> # kexec -s -p vmlinuz.efi --initrd=initrd.img --reuse-cmdline
>
> 2) Do something to crash, like:
> # echo c > /proc/sysrq-trigger
>
I am new to this feature but I am interested to test this feature, How
do I get the second kernel or capture image vmlinux.efi and
initrd.img, do I need to build them separately and how?
> Link:
> [1] https://github.com/tangyouling/kexec-tools/commits/main/
>
> Youling Tang (6):
> LoongArch: Add struct loongarch_image_header for kernel image
> LoongArch: Add kexec_file support
> LoongArch/kexec_file: Add initrd loading
> LoongArch/kexec_file: Add crash dump support
> LoongArch/kexec_file: Add "mem" parameter to limit memory usage of
> kdump kernel
> LoongArch: Enable CONFIG_KEXEC_FILE
>
> arch/loongarch/Kconfig | 8 +
> arch/loongarch/configs/loongson3_defconfig | 1 +
> arch/loongarch/include/asm/image.h | 58 +++++
> arch/loongarch/include/asm/kexec.h | 12 ++
> arch/loongarch/kernel/Makefile | 1 +
> arch/loongarch/kernel/kexec_image.c | 112 ++++++++++
> arch/loongarch/kernel/machine_kexec.c | 33 ++-
> arch/loongarch/kernel/machine_kexec_file.c | 234 +++++++++++++++++++++
> 8 files changed, 448 insertions(+), 11 deletions(-)
> create mode 100644 arch/loongarch/include/asm/image.h
> create mode 100644 arch/loongarch/kernel/kexec_image.c
> create mode 100644 arch/loongarch/kernel/machine_kexec_file.c
>
> --
> 2.34.1
>
>