From owner-svn-src-head@FreeBSD.ORG Mon Feb 23 01:21:54 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 B12C0A51; Mon, 23 Feb 2015 01:21:54 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 239A0237; Mon, 23 Feb 2015 01:21:53 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id t1N1LmGi045355 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 23 Feb 2015 03:21:48 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua t1N1LmGi045355 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id t1N1LmJU045354; Mon, 23 Feb 2015 03:21:48 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 23 Feb 2015 03:21:48 +0200 From: Konstantin Belousov To: Nathan Whitehorn Subject: Re: svn commit: r279189 - in head/sys/powerpc: aim fpu include powerpc Message-ID: <20150223012148.GN74514@kib.kiev.ua> References: <201502222140.t1MLeSFg075690@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201502222140.t1MLeSFg075690@svn.freebsd.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: 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 01:21:54 -0000 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.