Applied with some modifications. You may need to test whether everything is OK. https://github.com/chenhuacai/linux/commits/loongarch-next
Huacai On Wed, Sep 3, 2025 at 11:02 AM Youling Tang <[email protected]> wrote: > > From: Youling Tang <[email protected]> > > This patchset implement kexec_file_load() support on LoongArch. > > This patch series enables us to load the LoongArch vmlinuz.efi(pez) or > vmlinux.efi(pei) or vmlinux(elf) 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 > > Link: > [1] https://github.com/tangyouling/kexec-tools/commits/main/ > > Changelog: > v4: > * Add the character "kexec_file" to the command-line parameter. > * Fixed the issue where kexec_file failed to load the KASLR kernel > startup. > * Modify the member name of the loongarch_image_header structure. > * Modify the patch commit message. > > v3: > * The ELF format kernel loading should not use loongarch_image_header. > * Separate patch2 into an infrastructure patch and an EFI support > patch. > * Adding that kexec_file cannot load non-relocation kernel comments. > * Some minor modifications. > > v2: > * Merge some patches. > * Add support for ELF format images. > * Rename kexec_image.c to kexec_efi.c . > * When KEXEC_FILE is enabled, RELOCATABLE is selected by default. > * Some minor modifications. > > Youling Tang (7): > LoongArch: Add struct loongarch_image_header for kernel image > LoongArch: Add preparatory infrastructure for kexec_file > LoongArch/kexec_file: Support loading EFI binary file > LoongArch/kexec_file: Support loading ELF binary file > LoongArch/kexec_file: Add crash dump support > LoongArch: Automatically disable kaslr when the kernel loads from > kexec_file > LoongArch: Enable CONFIG_KEXEC_FILE > > arch/loongarch/Kconfig | 10 + > arch/loongarch/configs/loongson3_defconfig | 1 + > arch/loongarch/include/asm/image.h | 53 +++++ > arch/loongarch/include/asm/kexec.h | 13 ++ > arch/loongarch/kernel/Makefile | 1 + > arch/loongarch/kernel/kexec_efi.c | 114 ++++++++++ > arch/loongarch/kernel/kexec_elf.c | 105 +++++++++ > arch/loongarch/kernel/machine_kexec.c | 37 ++-- > arch/loongarch/kernel/machine_kexec_file.c | 244 +++++++++++++++++++++ > arch/loongarch/kernel/relocate.c | 4 + > 10 files changed, 569 insertions(+), 13 deletions(-) > create mode 100644 arch/loongarch/include/asm/image.h > create mode 100644 arch/loongarch/kernel/kexec_efi.c > create mode 100644 arch/loongarch/kernel/kexec_elf.c > create mode 100644 arch/loongarch/kernel/machine_kexec_file.c > > -- > 2.43.0 >
