[{"id":1794843,"web_url":"http://patchwork.ozlabs.org/comment/1794843/","msgid":"<20171027130411.qc2ee2z5ywocnvnw@armageddon.cambridge.arm.com>","list_archive_url":null,"date":"2017-10-27T13:04:11","subject":"Re: [PATCH v4 19/28] arm64/sve: ptrace and ELF coredump support","submitter":{"id":938,"url":"http://patchwork.ozlabs.org/api/people/938/","name":"Catalin Marinas","email":"catalin.marinas@arm.com"},"content":"On Fri, Oct 27, 2017 at 11:51:01AM +0100, Dave P Martin wrote:\n> This patch defines and implements a new regset NT_ARM_SVE, which\n> describes a thread's SVE register state.  This allows a debugger to\n> manipulate the SVE state, as well as being included in ELF\n> coredumps for post-mortem debugging.\n> \n> Because the regset size and layout are dependent on the thread's\n> current vector length, it is not possible to define a C struct to\n> describe the regset contents as is done for existing regsets.\n> Instead, and for the same reasons, NT_ARM_SVE is based on the\n> freeform variable-layout approach used for the SVE signal frame.\n> \n> Additionally, to reduce debug overhead when debugging threads that\n> might or might not have live SVE register state, NT_ARM_SVE may be\n> presented in one of two different formats: the old struct\n> user_fpsimd_state format is embedded for describing the state of a\n> thread with no live SVE state, whereas a new variable-layout\n> structure is embedded for describing live SVE state.  This avoids a\n> debugger needing to poll NT_PRFPREG in addition to NT_ARM_SVE, and\n> allows existing userspace code to handle the non-SVE case without\n> too much modification.\n> \n> For this to work, NT_ARM_SVE is defined with a fixed-format header\n> of type struct user_sve_header, which the recipient can use to\n> figure out the content, size and layout of the reset of the regset.\n> Accessor macros are defined to allow the vector-length-dependent\n> parts of the regset to be manipulated.\n> \n> Signed-off-by: Alan Hayward <alan.hayward@arm.com>\n> Signed-off-by: Dave Martin <Dave.Martin@arm.com>\n> Cc: Alex Bennée <alex.bennee@linaro.org>\n> Cc: Okamoto Takayuki <tokamoto@jp.fujitsu.com>\n\nReviewed-by: Catalin Marinas <catalin.marinas@arm.com>","headers":{"Return-Path":"<libc-alpha-return-86474-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-86474-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"NgMhA9dk\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3yNkcW5cFXz9t2Q\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat, 28 Oct 2017 00:04:59 +1100 (AEDT)","(qmail 17297 invoked by alias); 27 Oct 2017 13:04:19 -0000","(qmail 17241 invoked by uid 89); 27 Oct 2017 13:04:19 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-type:content-transfer-encoding\n\t:in-reply-to; q=dns; s=default; b=IHAY8dRfXTFJJgoKwvtq8/H9T1oR8Q\n\tuxI7WbM+vvZ8XwA16F2cr6wqYOnEvbR554QLZ3uwoyFpzKwJZx2X129QBllXW743\n\tXuRldAzqo5X//4C58P8W1OQbGyjaRF26hwBjAQjDAEEqZdlBRHlPcVNQutSiGvJK\n\tbSF2EYMkLx8hc=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-type:content-transfer-encoding\n\t:in-reply-to; s=default; bh=ZDSPl4bw60XMYXs7yJqYmI/TAak=; b=NgMh\n\tA9dkmvs1vzqMtxy97jkQR//WNljXsHJKyUlqKmxC0i5/o26E/49KwU0tz3Lv1m41\n\trmtl1IEJv8k3wjgBORGxFQP0DmsPJe88yebpyl8HmJ5lodqe4y2+03fE8THmQ4Iu\n\tkvXUR2sW5Y20DT1xxFNsQVy6DdZE1TqMQXmMOkk=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-1.9 required=5.0 tests=BAYES_00,\n\tRP_MATCHES_RCVD, SPF_PASS autolearn=ham version=3.3.2 spammy=","X-HELO":"foss.arm.com","Date":"Fri, 27 Oct 2017 14:04:11 +0100","From":"Catalin Marinas <catalin.marinas@arm.com>","To":"Dave Martin <Dave.Martin@arm.com>","Cc":"linux-arm-kernel@lists.infradead.org, linux-arch@vger.kernel.org,\n\tOkamoto Takayuki <tokamoto@jp.fujitsu.com>, \tlibc-alpha@sourceware.org,\n\tArd Biesheuvel <ard.biesheuvel@linaro.org>, Szabolcs Nagy\n\t<szabolcs.nagy@arm.com>, \tWill Deacon <will.deacon@arm.com>,\n\tAlan Hayward <alan.hayward@arm.com>, Alex =?iso-8859-1?q?Benn=E9e?=\n\t<alex.bennee@linaro.org>, \tkvmarm@lists.cs.columbia.edu","Subject":"Re: [PATCH v4 19/28] arm64/sve: ptrace and ELF coredump support","Message-ID":"<20171027130411.qc2ee2z5ywocnvnw@armageddon.cambridge.arm.com>","References":"<1509101470-7881-1-git-send-email-Dave.Martin@arm.com>\n\t<1509101470-7881-20-git-send-email-Dave.Martin@arm.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=iso-8859-1","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<1509101470-7881-20-git-send-email-Dave.Martin@arm.com>","User-Agent":"NeoMutt/20170113 (1.7.2)"}}]