[PATCH v4 0/2] RISC-V: add support for restartable sequence
Vincent Chen
vincent.chen at sifive.com
Tue Mar 8 00:32:51 PST 2022
Add RSEQ, restartable sequence, support and related selftest to RISCV.
The relevant RSEQ tests in kselftest require the binutils patch "RISC-V:
Fix linker problems with TLS copy relocs" to avoid placing
PREINIT_ARRAY and TLS variable of librseq.so at the same address.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=3e7bd7f24146f162565edf878840449f36a8d974
A segmental fault will happen if binutils misses this patch.
Changes since v3:
1. Modify the endianness checking.
2. Fix a bug encountered in 32bit environment.
Changes since v2:
1. Move rseq_signal_deliver() after syscall restart handling.
2. Add rseq_offset_deref_addv() to support memory barrier tests.
Vincent Chen (2):
RISC-V: Add support for restartable sequence
rseq/selftests: Add support for RISC-V
arch/riscv/Kconfig | 1 +
arch/riscv/kernel/entry.S | 4 +
arch/riscv/kernel/signal.c | 2 +
tools/testing/selftests/rseq/param_test.c | 23 +
tools/testing/selftests/rseq/rseq-riscv.h | 677 ++++++++++++++++++++++
tools/testing/selftests/rseq/rseq.h | 2 +
6 files changed, 709 insertions(+)
create mode 100644 tools/testing/selftests/rseq/rseq-riscv.h
--
2.17.1
More information about the linux-riscv
mailing list