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

Alexandre Ghiti alex at ghiti.fr
Mon May 26 13:13:48 PDT 2025


The following changes since commit 08f8ac2266d9ede2bf2abc7763b5261f97fdafe9:

   riscv: Improve Kconfig help for RISCV_ISA_V_PREEMPTIVE (2025-05-14 
04:58:49 +0000)

are available in the Git repository at:

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

for you to fetch changes up to dc5240f09bca7b5fc72ad8894d6b9321bce51139:

   RISC-V: vDSO: Wire up getrandom() vDSO implementation (2025-05-23 
12:53:18 +0000)

----------------------------------------------------------------
riscv patches for 6.16-rc1, part 2

* Performance improvements
   - Add support for vdso getrandom
   - Implement raid6 calculations using vectors
   - Introduce svinval tlb invalidation

* Cleanup
   - A bunch of deduplication of the macros we use for manipulating 
instructions

* Misc
   - Introduce a kunit test for kprobes
   - Add support for mseal as riscv fits the requirements (thanks to 
Lorenzo for making sure of that :))

----------------------------------------------------------------

All the patches have been tested on our github CI and no regressions 
were found against 6.15-rc6 
(https://github.com/linux-riscv/linux/pull/435/checks whose results can 
be seen here 
https://mazarinen.tail1c623.ts.net/riscv-linux/linux-all/build/v6.15-rc6-53-g765c7f75999b8/). 


----------------------------------------------------------------

Alexandre Ghiti (5):
       riscv: Fix typo EXRACT -> EXTRACT
       riscv: Strengthen duplicate and inconsistent definition of RV_X()
       riscv: Move all duplicate insn parsing macros into asm/insn.h
       Merge patch series "Move duplicated instructions macros into 
asm/insn.h"
       Merge patch series "riscv: kprobes: Clean up instruction simulation"

Chunyan Zhang (1):
       raid6: Add RISC-V SIMD syndrome and recovery calculations

Jisheng Zhang (1):
       riscv: enable mseal sysmap for RV64

Mayuresh Chitale (1):
       riscv: mm: Add support for Svinval extension

Nam Cao (12):
       riscv: kprobes: Move branch_rs2_idx to insn.h
       riscv: kprobes: Move branch_funct3 to insn.h
       riscv: kprobes: Remove duplication of RV_EXTRACT_JTYPE_IMM
       riscv: kprobes: Remove duplication of RV_EXTRACT_RS1_REG
       riscv: kprobes: Remove duplication of RV_EXTRACT_BTYPE_IMM
       riscv: kproves: Remove duplication of RVC_EXTRACT_JTYPE_IMM
       riscv: kprobes: Remove duplication of RVC_EXTRACT_C2_RS1_REG
       riscv: kprobes: Remove duplication of RVC_EXTRACT_BTYPE_IMM
       riscv: kprobes: Remove duplication of RV_EXTRACT_RD_REG
       riscv: kprobes: Remove duplication of RV_EXTRACT_UTYPE_IMM
       riscv: kprobes: Remove duplication of RV_EXTRACT_ITYPE_IMM
       riscv: Add kprobes KUnit test

Xi Ruoyao (1):
       RISC-V: vDSO: Wire up getrandom() vDSO implementation

  arch/riscv/Kconfig                                 |    2 +
  arch/riscv/include/asm/insn.h                      |  215 +++++++++-
  arch/riscv/include/asm/vdso/getrandom.h            |   30 ++
  arch/riscv/kernel/machine_kexec_file.c             |    2 +-
  arch/riscv/kernel/probes/simulate-insn.c           |   94 +----
  arch/riscv/kernel/tests/Kconfig.debug              |   12 +
  arch/riscv/kernel/tests/Makefile                   |    1 +
  arch/riscv/kernel/tests/kprobes/Makefile           |    1 +
  arch/riscv/kernel/tests/kprobes/test-kprobes-asm.S |  229 ++++++++++
  arch/riscv/kernel/tests/kprobes/test-kprobes.c     |   56 +++
  arch/riscv/kernel/tests/kprobes/test-kprobes.h     |   24 ++
  arch/riscv/kernel/traps_misaligned.c               |  144 +------
  arch/riscv/kernel/vdso.c                           |    2 +-
  arch/riscv/kernel/vdso/Makefile                    |   13 +
  arch/riscv/kernel/vdso/getrandom.c                 |   10 +
  arch/riscv/kernel/vdso/vdso.lds.S                  |    3 +
  arch/riscv/kernel/vdso/vgetrandom-chacha.S         |  249 +++++++++++
  arch/riscv/kernel/vector.c                         |    2 +-
  arch/riscv/kvm/vcpu_insn.c                         |  128 +-----
  arch/riscv/mm/tlbflush.c                           |   31 ++
  include/linux/raid/pq.h                            |    5 +
  lib/raid6/Makefile                                 |    1 +
  lib/raid6/algos.c                                  |    9 +
  lib/raid6/recov_rvv.c                              |  229 ++++++++++
  lib/raid6/rvv.c                                    | 1212 
+++++++++++++++++++++++++++++++++++++++++++++++++++++
  lib/raid6/rvv.h                                    |   39 ++
  tools/testing/selftests/vDSO/vgetrandom-chacha.S   |    2 +
  27 files changed, 2375 insertions(+), 370 deletions(-)
  create mode 100644 arch/riscv/include/asm/vdso/getrandom.h
  create mode 100644 arch/riscv/kernel/tests/kprobes/Makefile
  create mode 100644 arch/riscv/kernel/tests/kprobes/test-kprobes-asm.S
  create mode 100644 arch/riscv/kernel/tests/kprobes/test-kprobes.c
  create mode 100644 arch/riscv/kernel/tests/kprobes/test-kprobes.h
  create mode 100644 arch/riscv/kernel/vdso/getrandom.c
  create mode 100644 arch/riscv/kernel/vdso/vgetrandom-chacha.S
  create mode 100644 lib/raid6/recov_rvv.c
  create mode 100644 lib/raid6/rvv.c
  create mode 100644 lib/raid6/rvv.h




More information about the linux-riscv mailing list