From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 77240 invoked by alias); 13 Jun 2018 19:53:43 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 77132 invoked by uid 89); 13 Jun 2018 19:53:42 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-6.9 required=5.0 tests=BAYES_00,GIT_PATCH_2,SPF_PASS autolearn=ham version=3.3.2 spammy=yours X-HELO: mail.efficios.com DKIM-Filter: OpenDKIM Filter v2.10.3 mail.efficios.com 0A3F522A8FF Date: Wed, 13 Jun 2018 19:53:00 -0000 From: Mathieu Desnoyers To: heiko carstens Cc: carlos , Florian Weimer , Peter Zijlstra , "Paul E. McKenney" , Boqun Feng , Thomas Gleixner , linux-kernel , libc-alpha Message-ID: <410804326.12703.1528919618748.JavaMail.zimbra@efficios.com> In-Reply-To: <1904010978.12481.1528906458944.JavaMail.zimbra@efficios.com> References: <1084280721.10859.1528746558696.JavaMail.zimbra@efficios.com> <20180613114811.GC4342@osiris> <1904010978.12481.1528906458944.JavaMail.zimbra@efficios.com> Subject: Re: Restartable Sequences system call merged into Linux MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SW-Source: 2018-06/txt/msg00355.txt.bz2 ----- On Jun 13, 2018, at 12:14 PM, Mathieu Desnoyers mathieu.desnoyers@efficios.com wrote: > ----- On Jun 13, 2018, at 7:48 AM, heiko carstens heiko.carstens@de.ibm.com > wrote: [...] >> >> 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. Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com