[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