Message ID | 20220308083253.12285-1-vincent.chen@sifive.com (mailing list archive) |
---|---|
Headers | show |
Series | RISC-V: add support for restartable sequence | expand |
On Tue, 08 Mar 2022 00:32:51 PST (-0800), vincent.chen@sifive.com wrote: > > 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 Thanks, this is on for-next.