[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