[GIT PULL] RISC-V Patches for the 6.16 Merge Window, Part 1

Alexandre Ghiti alex at ghiti.fr
Fri May 9 01:28:40 PDT 2025


The following changes since commit 9c32cda43eb78f78c73aee4aa344b777714e259b:

   Linux 6.15-rc3 (2025-04-20 13:43:47 -0700)

are available in the Git repository at:

   git://git.kernel.org/pub/scm/linux/kernel/git/alexghiti/linux 
tags/riscv-mw1-6.16-rc1

for you to fetch changes up to 135452d0c6114619fb954eaf9496210b5be0701d:

   riscv: Improve Kconfig help for RISCV_ISA_V_PREEMPTIVE (2025-05-09 
06:35:10 +0000)

----------------------------------------------------------------
riscv patches for 6.16-rc1

* Implement atomic patching support for ftrace which finally allows to 
get rid of stop_machine()
* Support for user_access_begin() to avoid toggling the SUM bit at each 
userspace access, improving the performance of our user copies
* Support for kexec_file_load() syscall
* Improve module loading time by changing the algorithm that counts the 
number of plt/got entries in a module
* Zicbop is now used in the kernel to prefetch instructions

----------------------------------------------------------------
Alexandre Ghiti (8):
       riscv: Add support for PUD THP
       Merge patch series "riscv: uaccess: optimisations"
       riscv: Introduce Zicbop instructions
       riscv: Add support for Zicbop
       Merge patch series "riscv: ftrace: atmoic patching and preempt 
improvements"
       Merge patch series "riscv: kexec_file: Support loading Image 
binary file"
       riscv: hwprobe: export Zabha extension
       Merge patch series "riscv: Add Zicbop & prefetchw support"

Andy Chiu (11):
       riscv: ftrace: support fastcc in Clang for WITH_ARGS
       riscv: ftrace factor out code defined by !WITH_ARG
       riscv: ftrace: align patchable functions to 4 Byte boundary
       kernel: ftrace: export ftrace_sync_ipi
       riscv: ftrace: prepare ftrace for atomic code patching
       riscv: ftrace: do not use stop_machine to update code
       riscv: vector: Support calling schedule() for preemptible Vector
       riscv: add a data fence for CMODX in the kernel mode
       riscv: ftrace: support PREEMPT
       riscv: ftrace: support direct call using call_ops
       riscv: Documentation: add a description about dynamic ftrace

Atish Patra (1):
       MAINTAINERS: Update Atish's email address

Ben Dooks (1):
       riscv: save the SR_SUM status over switches

Guo Ren (2):
       riscv: Add ARCH_HAS_PREFETCH[W] support with Zicbop
       riscv: xchg: Prefetch the destination word for sc.w

Haibo Xu (1):
       perf symbols: Ignore mapping symbols on riscv

Jisheng Zhang (4):
       riscv: implement user_access_begin() and families
       riscv: uaccess: use input constraints for ptr of __put_user()
       riscv: uaccess: use 'asm goto' for put_user()
       riscv: uaccess: use 'asm_goto_output' for get_user()

Miquel Sabaté Solà (1):
       riscv: Improve Kconfig help for RISCV_ISA_V_PREEMPTIVE

Puranjay Mohan (1):
       riscv: Implement HAVE_DYNAMIC_FTRACE_WITH_CALL_OPS

Samuel Holland (1):
       riscv: module: Optimize PLT/GOT entry counting

Song Shuai (2):
       riscv: kexec_file: Split the loading of kernel and others
       riscv: kexec_file: Support loading Image binary file

Tiezhu Yang (1):
       riscv: Make regs_irqs_disabled() more clear

Yao Zi (1):
       riscv/kexec_file: Fix comment in purgatory relocator

谢致邦 (XIE Zhibang) (1):
       RISC-V: Kconfig: Fix help text of CMDLINE_EXTEND

  .mailmap                               |   3 +-
  Documentation/arch/riscv/cmodx.rst     |  46 +++-
  Documentation/arch/riscv/hwprobe.rst   |   4 +
  MAINTAINERS                            |   4 +-
  arch/riscv/Kconfig                     |  36 ++-
  arch/riscv/Makefile                    |   4 +-
  arch/riscv/include/asm/barrier.h       |   5 -
  arch/riscv/include/asm/cacheflush.h    |   1 +
  arch/riscv/include/asm/cmpxchg.h       |   4 +-
  arch/riscv/include/asm/ftrace.h        |  62 ++---
  arch/riscv/include/asm/hwcap.h         |   1 +
  arch/riscv/include/asm/image.h         |   2 +
  arch/riscv/include/asm/insn-def.h      |  66 ++++++
  arch/riscv/include/asm/kexec.h         |   6 +
  arch/riscv/include/asm/pgtable-64.h    |   5 +-
  arch/riscv/include/asm/pgtable.h       |  97 ++++++++
  arch/riscv/include/asm/processor.h     |  31 ++-
  arch/riscv/include/asm/ptrace.h        |   2 +-
  arch/riscv/include/asm/tlbflush.h      |   2 +
  arch/riscv/include/asm/uaccess.h       | 218 ++++++++++++-----
  arch/riscv/include/asm/vector.h        |  22 +-
  arch/riscv/include/uapi/asm/hwprobe.h  |   1 +
  arch/riscv/kernel/Makefile             |   2 +-
  arch/riscv/kernel/asm-offsets.c        |  18 ++
  arch/riscv/kernel/cpufeature.c         |  21 ++
  arch/riscv/kernel/elf_kexec.c          | 485 
--------------------------------------
  arch/riscv/kernel/entry.S              |   8 +
  arch/riscv/kernel/ftrace.c             | 242 ++++++++++---------
  arch/riscv/kernel/kexec_elf.c          | 144 +++++++++++
  arch/riscv/kernel/kexec_image.c        |  96 ++++++++
  arch/riscv/kernel/machine_kexec_file.c | 361 ++++++++++++++++++++++++++++
  arch/riscv/kernel/mcount-dyn.S         | 117 +++++----
  arch/riscv/kernel/module-sections.c    |  81 +++++--
  arch/riscv/kernel/sys_hwprobe.c        |   1 +
  arch/riscv/mm/cacheflush.c             |  29 ++-
  arch/riscv/mm/pgtable.c                |  10 +
  arch/riscv/mm/tlbflush.c               |   7 +
  include/linux/ftrace.h                 |   2 +
  kernel/trace/ftrace.c                  |   2 +-
  tools/perf/util/symbol-elf.c           |   6 +
  40 files changed, 1470 insertions(+), 784 deletions(-)
  delete mode 100644 arch/riscv/kernel/elf_kexec.c
  create mode 100644 arch/riscv/kernel/kexec_elf.c
  create mode 100644 arch/riscv/kernel/kexec_image.c




More information about the linux-riscv mailing list