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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to