[PATCH 0/7] Kexec-tools: Improve RISC-V port

Song Shuai songshuaishuai at tinylab.org
Thu Sep 14 20:50:06 PDT 2023


Hi,

This series is created to improve RISC-V port of kexec-tools,
and is based on the horms/kexec-tools:build-test-riscv-v2 branch.

For your convenience, here is my Github branch for kexec-tools:
https://github.com/sugarfillet/kexec-tools/commits/rv-Image

The first four patches fixes some build or runtime issues:  

  RISC-V: Use linux,usable-memory-range for crash kernel
  RISC-V: Fix the undeclared ‘EM_RISCV’ build failure
  RISC-V: Get memory ranges from iomem
  RISC-V: Correct the usage of command line option

The last three patches enable the kexec_file_load syscall to load
vmlinux and support loading Image binary file for two syscalls.

  RISC-V: Enable kexe_file_load
  RISC-V: Separate elf_riscv_find_pbase out
  RISC-V: Support loading Image binary file

Note that: 

RISC-V Linux kexec_load_file's support for Image file has been sent out but not merged [1].

[1]: https://lore.kernel.org/linux-riscv/20230914020044.1397356-1-songshuaishuai@tinylab.org/T/#t 

Li Zhengyu (1):
  RISC-V: Enable kexe_file_load

Song Shuai (6):
  RISC-V: Use linux,usable-memory-range for crash kernel
  RISC-V: Fix the undeclared ‘EM_RISCV’ build failure
  RISC-V: Get memory ranges from iomem
  RISC-V: Correct the usage of command line option
  RISC-V: Separate elf_riscv_find_pbase out
  RISC-V: Support loading Image binary file

 kexec/arch/riscv/Makefile            |   2 +
 kexec/arch/riscv/crashdump-riscv.c   |   2 +-
 kexec/arch/riscv/image-header.h      |  88 ++++++++++++++
 kexec/arch/riscv/iomem.h             |  10 ++
 kexec/arch/riscv/kexec-elf-riscv.c   |  77 +-----------
 kexec/arch/riscv/kexec-image-riscv.c |  95 +++++++++++++++
 kexec/arch/riscv/kexec-riscv.c       | 176 ++++++++++++++++++++++-----
 kexec/arch/riscv/kexec-riscv.h       |  21 ++++
 kexec/kexec-syscall.h                |   3 +
 9 files changed, 368 insertions(+), 106 deletions(-)
 create mode 100644 kexec/arch/riscv/image-header.h
 create mode 100644 kexec/arch/riscv/iomem.h
 create mode 100644 kexec/arch/riscv/kexec-image-riscv.c

-- 
2.20.1




More information about the kexec mailing list