From owner-svn-src-head@FreeBSD.ORG Mon Feb 23 14:55:28 2015 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4C89BBA5; Mon, 23 Feb 2015 14:55:28 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 23165E28; Mon, 23 Feb 2015 14:55:28 +0000 (UTC) Received: from ralph.baldwin.cx (pool-173-54-116-245.nwrknj.fios.verizon.net [173.54.116.245]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id A64A1B91F; Mon, 23 Feb 2015 09:55:26 -0500 (EST) From: John Baldwin To: Nathan Whitehorn Subject: Re: svn commit: r279189 - in head/sys/powerpc: aim fpu include powerpc Date: Mon, 23 Feb 2015 09:52:43 -0500 Message-ID: <1832257.41OqWDsdB6@ralph.baldwin.cx> User-Agent: KMail/4.14.2 (FreeBSD/10.1-STABLE; KDE/4.14.2; amd64; ; ) In-Reply-To: <54EA9EC6.3070304@freebsd.org> References: <201502222140.t1MLeSFg075690@svn.freebsd.org> <20150223012148.GN74514@kib.kiev.ua> <54EA9EC6.3070304@freebsd.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 23 Feb 2015 09:55:26 -0500 (EST) Cc: Konstantin Belousov , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 14:55:28 -0000 On Sunday, February 22, 2015 07:30:14 PM Nathan Whitehorn wrote: > On 02/22/15 17:21, Konstantin Belousov wrote: > > On Sun, Feb 22, 2015 at 09:40:28PM +0000, Nathan Whitehorn wrote: > >> Author: nwhitehorn > >> Date: Sun Feb 22 21:40:27 2015 > >> New Revision: 279189 > >> URL: https://svnweb.freebsd.org/changeset/base/279189 > >> > >> Log: > >> Kernel support for the Vector-Scalar eXtension (VSX) found on the > >> POWER7 > >> and POWER8. This instruction set unifies the 32 64-bit scalar floating > >> point registers with the 32 128-bit vector registers into a single > >> bank > >> of 64 128-bit registers. Kernel support mostly amounts to saving and > >> restoring the wider version of the floating point registers and making > >> sure that both scalar FP and vector registers are enabled once a VSX > >> instruction is executed. get_mcontext() and friends currently cannot > >> see the high bits, which will require a little more work. > >> > >> As the system compiler (GCC 4.2) does not support VSX, making use of > >> this > >> from userland requires either newer GCC or clang. > > > > Handling the similar issue (exploding of the machine state size) for x86 > > resulted in the creation of the getcontextx(3) API. It is both get/set > > context(2) syscalls and signal handling which require modifications. > > > > For signal handlers and sigreturn(2), it is possible to make it > > transparent > > for the consumers, but not for *context(2), since mcontext_t is explicit > > type allocated by callers. > > Thanks! I had forgotten about the signal handling issue. Will look into > this tomorrow. Don't forget to include the info in cores as well so debuggers can see them (as well as ptrace access if that needs changes). -- John Baldwin