Re: Restartable Sequences system call merged into Linux
From: Mathieu Desnoyers
Date: Wed Jun 13 2018 - 15:53:46 EST
----- On Jun 13, 2018, at 12:14 PM, Mathieu Desnoyers mathieu.desnoyers@xxxxxxxxxxxx wrote:
> ----- On Jun 13, 2018, at 7:48 AM, heiko carstens heiko.carstens@xxxxxxxxxx
>> Is there any documentation available of what is the exact semantics of the
>> functions that have to be implemented for additional architectures?
> It's documented on top of kernel/rseq.c:
> The first architecture implemented was rseq-x86.h. Boqun derived rseq-ppc.h
> from it, and I derived rseq-arm.h from it. Feel free to start from whichever
> architecture has the instruction set which is most similar to yours.
One more thing: adding full support for your architecture to the rseq selftests
also requires to extend tools/testing/selftests/rseq/param_test.c to implement
the RSEQ_INJECT_INPUT, INJECT_ASM_REG, RSEQ_INJECT_CLOBBER and RSEQ_INJECT_ASM
macros for your architecture. Those are simply defining the inline asm operands
and assembly code needed to inject delay loops within the rseq critical sections,
which greatly facilitates testing.