Date: Sun, 22 Feb 2015 19:30:14 -0800 From: Nathan Whitehorn <nwhitehorn@freebsd.org> To: Konstantin Belousov <kostikbel@gmail.com> Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r279189 - in head/sys/powerpc: aim fpu include powerpc Message-ID: <54EA9EC6.3070304@freebsd.org> In-Reply-To: <20150223012148.GN74514@kib.kiev.ua> References: <201502222140.t1MLeSFg075690@svn.freebsd.org> <20150223012148.GN74514@kib.kiev.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
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. -Nathan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54EA9EC6.3070304>