[PATCH v4 0/2] RISC-V: add support for restartable sequence

Palmer Dabbelt palmer at dabbelt.com
Tue Mar 22 17:54:45 PDT 2022


On Tue, 08 Mar 2022 00:32:51 PST (-0800), vincent.chen at 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.



More information about the linux-riscv mailing list